aboutsummaryrefslogtreecommitdiffstats
path: root/conf/integration
diff options
context:
space:
mode:
authorMartin Klozik <martin.klozik@tieto.com>2018-05-15 01:42:35 -0700
committerMartin Klozik <martin.klozik@tieto.com>2018-05-28 05:48:23 -0700
commit63b56ed1d74657129006f066a3f118c4c369d23c (patch)
tree33624c57bbf9800668647da82bb9d6edbd1bcd93 /conf/integration
parentc79adfe7660ffa43f597af794412c0616a785943 (diff)
connections: Introduction of generic API
Redesign of vSwitch and vSwitch controller classes, to use generic connection methods for configuration of vSwitch. This API is more generic and vSwitch agnostic, thus deployment scenarios like P2P, PVP, PVVP (i.e. PVVPx) can be used for all (currently) supported vSwitches. Usage of new API will simplify an introduction of new vSwitches in the future. This patchset introduces following changes: * OVS: implementation of add_, del_, dump_ connection(s) and their validation methods * VPP: bidir parameter removed - it is up to the deployment scenario implementation to take care about bidirectional connections * P2P and PXP controllers were updated to use connection methods instead of flow related methods. Thus standard TCs will support both OVS and VPP. NOTE, PVPV is not supported for VPP (yet?). * refactoring of vSwitch interfaces and inherited classes * VPP step driven TCs were replaced by standard TCs with appropriate deployment scenarios. This is for backward compatibility with TC reporting. Once reporting of VPP TC results into results DB will be modified, this TCs can be removed. * OVS routing tables support was generalized to support P2P and PXP deployments and step driven TCs. Usage of OVS routing tables is now configurable (turned off by default) for better comparison of results among various vSwitches. * Multistream pre_installed_flows feature was generalized to support P2P and PXP deployments and step driven TCs. * IxNet: TRAFFIC['l4']['dstport'] will be used as a start value for port iteration if L4 multistream feature is enabled. * OVS: default flow template is now configurable via OVS_FLOW_TEMPLATE * OVS: support of TRAFFIC['flow_type']='ip' was generalized to work with connection methods (i.e. with P2P and PXP deployments and step driven TCs) * integration TCs: modification of integration TCs and their macros to utilize new generic connection based API * CI: list of TCs for VERIFY & MERGE jobs was changed to run the same generic tests for both OVS & VPP * documentation update * small fixes and improvements JIRA: VSPERF-579 Change-Id: If4e6e6037929eab9f16c2bbcb8a0fb30e5d6f9b0 Signed-off-by: Martin Klozik <martin.klozik@tieto.com> Reviewed-by: Richard Elias <richard.elias@tieto.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Diffstat (limited to 'conf/integration')
-rw-r--r--conf/integration/01_testcases.conf168
-rw-r--r--conf/integration/01c_trex_vm_tests.conf1
2 files changed, 124 insertions, 45 deletions
diff --git a/conf/integration/01_testcases.conf b/conf/integration/01_testcases.conf
index 142ec812..4e3c192e 100644
--- a/conf/integration/01_testcases.conf
+++ b/conf/integration/01_testcases.conf
@@ -35,7 +35,9 @@
# Common TestSteps parts ("macros")
#
+#
# P2P macros
+#
STEP_VSWITCH_P2P_INIT = [
['vswitch', 'add_switch', 'int_br0'], # STEP 0
['vswitch', 'add_phy_port', 'int_br0'], # STEP 1
@@ -48,6 +50,18 @@ STEP_VSWITCH_P2P_FINIT = [
['vswitch', 'del_switch', 'int_br0'],
]
+STEP_VSWITCH_P2P_CONNECTIONS_INIT = STEP_VSWITCH_P2P_INIT + [
+ ['vswitch', 'add_connection', 'int_br0', '#STEP[1][0]', '#STEP[2][0]'],
+ ['vswitch', 'add_connection', 'int_br0', '#STEP[2][0]', '#STEP[1][0]'],
+]
+
+STEP_VSWITCH_P2P_CONNECTIONS_FINIT = [
+ ['vswitch', 'dump_connections', 'int_br0'],
+ ['vswitch', 'del_connection', 'int_br0', '#STEP[1][0]', '#STEP[2][0]'],
+ ['vswitch', 'del_connection', 'int_br0', '#STEP[2][0]', '#STEP[1][0]'],
+] + STEP_VSWITCH_P2P_FINIT
+
+# P2P OVS specific macros
STEP_VSWITCH_P2P_FLOWS_INIT = STEP_VSWITCH_P2P_INIT + [
['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', 'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}],
['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[2][1]', 'actions': ['output:#STEP[1][1]'], 'idle_timeout': '0'}],
@@ -59,7 +73,9 @@ STEP_VSWITCH_P2P_FLOWS_FINIT = [
['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[2][1]'}],
] + STEP_VSWITCH_P2P_FINIT
-# PVP and PVVP macros
+#
+# PVP macros
+#
STEP_VSWITCH_PVP_INIT = STEP_VSWITCH_P2P_INIT + [
['vswitch', 'add_vport', 'int_br0'], # STEP 3 vm1 ports
['vswitch', 'add_vport', 'int_br0'], # STEP 4
@@ -70,6 +86,22 @@ STEP_VSWITCH_PVP_FINIT = [
['vswitch', 'del_port', 'int_br0', '#STEP[4][0]'],
] + STEP_VSWITCH_P2P_FINIT
+STEP_VSWITCH_PVP_CONNECTIONS_INIT = STEP_VSWITCH_PVP_INIT + [
+ ['vswitch', 'add_connection', 'int_br0', '#STEP[1][0]', '#STEP[3][0]'],
+ ['vswitch', 'add_connection', 'int_br0', '#STEP[4][0]', '#STEP[2][0]'],
+ ['vswitch', 'add_connection', 'int_br0', '#STEP[2][0]', '#STEP[4][0]'],
+ ['vswitch', 'add_connection', 'int_br0', '#STEP[3][0]', '#STEP[1][0]'],
+]
+
+STEP_VSWITCH_PVP_CONNECTIONS_FINIT = [
+ ['vswitch', 'dump_connections', 'int_br0'],
+ ['vswitch', 'del_connection', 'int_br0', '#STEP[1][0]', '#STEP[3][0]'],
+ ['vswitch', 'del_connection', 'int_br0', '#STEP[4][0]', '#STEP[2][0]'],
+ ['vswitch', 'del_connection', 'int_br0', '#STEP[2][0]', '#STEP[4][0]'],
+ ['vswitch', 'del_connection', 'int_br0', '#STEP[3][0]', '#STEP[1][0]'],
+] + STEP_VSWITCH_PVP_FINIT
+
+# PVP OVS specific macros
STEP_VSWITCH_PVP_FLOWS_INIT = STEP_VSWITCH_PVP_INIT + [
['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', 'actions': ['output:#STEP[3][1]'], 'idle_timeout': '0'}],
['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[4][1]', 'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}],
@@ -85,6 +117,9 @@ STEP_VSWITCH_PVP_FLOWS_FINIT = [
['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[3][1]'}],
] + STEP_VSWITCH_PVP_FINIT
+#
+# PVVP macros
+#
STEP_VSWITCH_PVVP_INIT = STEP_VSWITCH_PVP_INIT + [
['vswitch', 'add_vport', 'int_br0'], # STEP 5 vm2 ports
['vswitch', 'add_vport', 'int_br0'], # STEP 6
@@ -95,6 +130,26 @@ STEP_VSWITCH_PVVP_FINIT = [
['vswitch', 'del_port', 'int_br0', '#STEP[6][0]'],
] + STEP_VSWITCH_PVP_FINIT
+STEP_VSWITCH_PVVP_CONNECTIONS_INIT = STEP_VSWITCH_PVVP_INIT + [
+ ['vswitch', 'add_connection', 'int_br0', '#STEP[1][0]', '#STEP[3][0]'],
+ ['vswitch', 'add_connection', 'int_br0', '#STEP[4][0]', '#STEP[5][0]'],
+ ['vswitch', 'add_connection', 'int_br0', '#STEP[6][0]', '#STEP[2][0]'],
+ ['vswitch', 'add_connection', 'int_br0', '#STEP[2][0]', '#STEP[6][0]'],
+ ['vswitch', 'add_connection', 'int_br0', '#STEP[5][0]', '#STEP[4][0]'],
+ ['vswitch', 'add_connection', 'int_br0', '#STEP[3][0]', '#STEP[1][0]'],
+]
+
+STEP_VSWITCH_PVVP_CONNECTIONS_FINIT = [
+ ['vswitch', 'dump_connections', 'int_br0'],
+ ['vswitch', 'del_connection', 'int_br0', '#STEP[1][0]', '#STEP[3][0]'],
+ ['vswitch', 'del_connection', 'int_br0', '#STEP[4][0]', '#STEP[5][0]'],
+ ['vswitch', 'del_connection', 'int_br0', '#STEP[6][0]', '#STEP[2][0]'],
+ ['vswitch', 'del_connection', 'int_br0', '#STEP[2][0]', '#STEP[6][0]'],
+ ['vswitch', 'del_connection', 'int_br0', '#STEP[5][0]', '#STEP[4][0]'],
+ ['vswitch', 'del_connection', 'int_br0', '#STEP[3][0]', '#STEP[1][0]'],
+] + STEP_VSWITCH_PVVP_FINIT
+
+# PVVP OVS specific macros
STEP_VSWITCH_PVVP_FLOWS_INIT = STEP_VSWITCH_PVVP_INIT + [
['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', 'actions': ['output:#STEP[3][1]'], 'idle_timeout': '0'}],
['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[4][1]', 'actions': ['output:#STEP[5][1]'], 'idle_timeout': '0'}],
@@ -441,9 +496,49 @@ INTEGRATION_TESTS = [
]
},
{
+ "Name": "vswitch_add_del_connection",
+ "Deployment": "clean",
+ "Description": "vSwitch - add and delete connection",
+ "TestSteps": [
+ ['vswitch', 'add_switch', 'int_br0'],
+ ['vswitch', 'add_phy_port', 'int_br0'],
+ ['vswitch', 'add_phy_port', 'int_br0'],
+ ['vswitch', 'add_connection', 'int_br0', '#STEP[1][0]', '#STEP[2][0]'],
+ ['vswitch', 'dump_connections', 'int_br0'],
+ ['vswitch', 'del_connection', 'int_br0', '#STEP[1][0]', '#STEP[2][0]'],
+ ['vswitch', 'del_port', 'int_br0', '#STEP[1][0]'],
+ ['vswitch', 'del_port', 'int_br0', '#STEP[2][0]'],
+ ['vswitch', 'del_switch', 'int_br0'],
+ ]
+ },
+ {
+ "Name": "vswitch_vports_add_del_connection",
+ "Deployment": "clean",
+ "Description": "vSwitch - add and delete connection",
+ "Description": "vSwitch - configure switch with vports, add and delete connection",
+ "TestSteps": [
+ ['vswitch', 'add_switch', 'int_br0'],
+ ['vswitch', 'add_vport', 'int_br0'],
+ ['vswitch', 'add_vport', 'int_br0'],
+ ['vswitch', 'add_connection', 'int_br0', '#STEP[1][0]', '#STEP[2][0]'],
+ ['vswitch', 'dump_connections', 'int_br0'],
+ ['vswitch', 'del_connection', 'int_br0', '#STEP[1][0]', '#STEP[2][0]'],
+ ['vswitch', 'del_port', 'int_br0', '#STEP[1][0]'],
+ ['vswitch', 'del_port', 'int_br0', '#STEP[2][0]'],
+ ['vswitch', 'del_switch', 'int_br0'],
+ ]
+ },
+ {
+ "Name": "vswitch_add_del_connections",
+ "Deployment": "clean",
+ "Description": "vSwitch - add and delete connections",
+ "TestSteps": STEP_VSWITCH_P2P_CONNECTIONS_INIT +
+ STEP_VSWITCH_P2P_CONNECTIONS_FINIT
+ },
+ {
"Name": "vswitch_add_del_flow",
"Deployment": "clean",
- "Description": "vSwitch - add and delete flow",
+ "Description": "OVS: vSwitch - add and delete flow",
"TestSteps": [
['vswitch', 'add_switch', 'int_br0'],
['vswitch', 'add_phy_port', 'int_br0'],
@@ -458,7 +553,7 @@ INTEGRATION_TESTS = [
{
"Name": "vswitch_vports_add_del_flow",
"Deployment": "clean",
- "Description": "vSwitch - configure switch with vports, add and delete flow",
+ "Description": "OVS: vSwitch - configure switch with vports, add and delete flow",
"TestSteps": [
['vswitch', 'add_switch', 'int_br0'],
['vswitch', 'add_vport', 'int_br0'],
@@ -473,7 +568,7 @@ INTEGRATION_TESTS = [
{
"Name": "vswitch_add_del_flows",
"Deployment": "clean",
- "Description": "vSwitch - add and delete flows",
+ "Description": "OVS: vSwitch - add and delete flows",
"TestSteps": STEP_VSWITCH_P2P_FLOWS_INIT +
STEP_VSWITCH_P2P_FLOWS_FINIT
},
@@ -481,31 +576,31 @@ INTEGRATION_TESTS = [
"Name": "vswitch_p2p_tput",
"Deployment": "clean",
"Description": "vSwitch - configure switch and execute RFC2544 throughput test",
- "TestSteps": STEP_VSWITCH_P2P_FLOWS_INIT +
+ "TestSteps": STEP_VSWITCH_P2P_CONNECTIONS_INIT +
[
['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_throughput', 'bidir' : 'True'}],
] +
- STEP_VSWITCH_P2P_FLOWS_FINIT
+ STEP_VSWITCH_P2P_CONNECTIONS_FINIT
},
{
"Name": "vswitch_p2p_back2back",
"Deployment": "clean",
"Description": "vSwitch - configure switch and execute RFC2544 back2back test",
- "TestSteps": STEP_VSWITCH_P2P_FLOWS_INIT +
+ "TestSteps": STEP_VSWITCH_P2P_CONNECTIONS_INIT +
[
['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_back2back', 'bidir' : 'True'}],
] +
- STEP_VSWITCH_P2P_FLOWS_FINIT
+ STEP_VSWITCH_P2P_CONNECTIONS_FINIT
},
{
"Name": "vswitch_p2p_cont",
"Deployment": "clean",
"Description": "vSwitch - configure switch and execute RFC2544 continuous stream test",
- "TestSteps": STEP_VSWITCH_P2P_FLOWS_INIT +
+ "TestSteps": STEP_VSWITCH_P2P_CONNECTIONS_INIT +
[
['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_continuous', 'bidir' : 'True'}],
] +
- STEP_VSWITCH_P2P_FLOWS_FINIT
+ STEP_VSWITCH_P2P_CONNECTIONS_FINIT
},
{
"Name": "vswitch_pvp",
@@ -537,43 +632,43 @@ INTEGRATION_TESTS = [
"Name": "vswitch_pvp_tput",
"Deployment": "clean",
"Description": "vSwitch - configure switch, vnf and execute RFC2544 throughput test",
- "TestSteps": STEP_VSWITCH_PVP_FLOWS_INIT +
+ "TestSteps": STEP_VSWITCH_PVP_CONNECTIONS_INIT +
[
['vnf', 'start'],
['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_throughput', 'bidir' : 'True'}],
['vnf', 'stop'],
] +
- STEP_VSWITCH_PVP_FLOWS_FINIT
+ STEP_VSWITCH_PVP_CONNECTIONS_FINIT
},
{
"Name": "vswitch_pvp_back2back",
"Deployment": "clean",
"Description": "vSwitch - configure switch, vnf and execute RFC2544 back2back test",
- "TestSteps": STEP_VSWITCH_PVP_FLOWS_INIT +
+ "TestSteps": STEP_VSWITCH_PVP_CONNECTIONS_INIT +
[
['vnf', 'start'],
['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_back2back', 'bidir' : 'True'}],
['vnf', 'stop'],
] +
- STEP_VSWITCH_PVP_FLOWS_FINIT
+ STEP_VSWITCH_PVP_CONNECTIONS_FINIT
},
{
"Name": "vswitch_pvp_cont",
"Deployment": "clean",
"Description": "vSwitch - configure switch, vnf and execute RFC2544 continuous stream test",
- "TestSteps": STEP_VSWITCH_PVP_FLOWS_INIT +
+ "TestSteps": STEP_VSWITCH_PVP_CONNECTIONS_INIT +
[
['vnf', 'start'],
['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_continuous', 'bidir' : 'True'}],
['vnf', 'stop'],
] +
- STEP_VSWITCH_PVP_FLOWS_FINIT
+ STEP_VSWITCH_PVP_CONNECTIONS_FINIT
},
{
"Name": "vswitch_pvp_all",
"Deployment": "clean",
"Description": "vSwitch - configure switch, vnf and execute all test types",
- "TestSteps": STEP_VSWITCH_PVP_FLOWS_INIT +
+ "TestSteps": STEP_VSWITCH_PVP_CONNECTIONS_INIT +
[
['vnf', 'start'],
['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_throughput', 'bidir' : 'True'}],
@@ -581,7 +676,7 @@ INTEGRATION_TESTS = [
['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_continuous', 'bidir' : 'True'}],
['vnf', 'stop'],
] +
- STEP_VSWITCH_PVP_FLOWS_FINIT
+ STEP_VSWITCH_PVP_CONNECTIONS_FINIT
},
{
"Name": "vswitch_pvvp",
@@ -600,7 +695,7 @@ INTEGRATION_TESTS = [
"Name": "vswitch_pvvp_tput",
"Deployment": "clean",
"Description": "vSwitch - configure switch, two chained vnfs and execute RFC2544 throughput test",
- "TestSteps": STEP_VSWITCH_PVVP_FLOWS_INIT +
+ "TestSteps": STEP_VSWITCH_PVVP_CONNECTIONS_INIT +
[
['vnf1', 'start'],
['vnf2', 'start'],
@@ -608,13 +703,13 @@ INTEGRATION_TESTS = [
['vnf1', 'stop'],
['vnf2', 'stop'],
] +
- STEP_VSWITCH_PVVP_FLOWS_FINIT
+ STEP_VSWITCH_PVVP_CONNECTIONS_FINIT
},
{
"Name": "vswitch_pvvp_back2back",
"Deployment": "clean",
"Description": "vSwitch - configure switch, two chained vnfs and execute RFC2544 back2back test",
- "TestSteps": STEP_VSWITCH_PVVP_FLOWS_INIT +
+ "TestSteps": STEP_VSWITCH_PVVP_CONNECTIONS_INIT +
[
['vnf1', 'start'],
['vnf2', 'start'],
@@ -622,13 +717,13 @@ INTEGRATION_TESTS = [
['vnf1', 'stop'],
['vnf2', 'stop'],
] +
- STEP_VSWITCH_PVVP_FLOWS_FINIT
+ STEP_VSWITCH_PVVP_CONNECTIONS_FINIT
},
{
"Name": "vswitch_pvvp_cont",
"Deployment": "clean",
"Description": "vSwitch - configure switch, two chained vnfs and execute RFC2544 continuous stream test",
- "TestSteps": STEP_VSWITCH_PVVP_FLOWS_INIT +
+ "TestSteps": STEP_VSWITCH_PVVP_CONNECTIONS_INIT +
[
['vnf1', 'start'],
['vnf2', 'start'],
@@ -636,13 +731,13 @@ INTEGRATION_TESTS = [
['vnf1', 'stop'],
['vnf2', 'stop'],
] +
- STEP_VSWITCH_PVVP_FLOWS_FINIT
+ STEP_VSWITCH_PVVP_CONNECTIONS_FINIT
},
{
"Name": "vswitch_pvvp_all",
"Deployment": "clean",
"Description": "vSwitch - configure switch, two chained vnfs and execute all test types",
- "TestSteps": STEP_VSWITCH_PVVP_FLOWS_INIT +
+ "TestSteps": STEP_VSWITCH_PVVP_CONNECTIONS_INIT +
[
['vnf1', 'start'],
['vnf2', 'start'],
@@ -652,7 +747,7 @@ INTEGRATION_TESTS = [
['vnf1', 'stop'],
['vnf2', 'stop'],
] +
- STEP_VSWITCH_PVVP_FLOWS_FINIT
+ STEP_VSWITCH_PVVP_CONNECTIONS_FINIT
},
{
"Name": "vswitch_p4vp",
@@ -971,23 +1066,6 @@ INTEGRATION_TESTS = [
['tools', 'assert', 'len(#STEP[-1][0])'],
]
},
- {
- "Name": "vswitch_vports_add_del_connection_vpp",
- "Deployment": "clean",
- "Description": "VPP: vSwitch - configure switch with vports, add and delete connection",
- "vSwitch" : "VppDpdkVhost",
- "TestSteps": [
- ['vswitch', 'add_switch', 'int_br0'],
- ['vswitch', 'add_vport', 'int_br0'],
- ['vswitch', 'add_vport', 'int_br0'],
- ['vswitch', 'add_connection', 'int_br0', '#STEP[1][0]', '#STEP[2][0]', True],
- ['vswitch', 'dump_connections', 'int_br0'],
- ['vswitch', 'del_connection', 'int_br0', '#STEP[1][0]', '#STEP[2][0]', True],
- ['vswitch', 'del_port', 'int_br0', '#STEP[1][0]'],
- ['vswitch', 'del_port', 'int_br0', '#STEP[2][0]'],
- ['vswitch', 'del_switch', 'int_br0'],
- ]
- },
#
# END of VPP tests used by VERIFY and MERGE jobs by OPNFV Jenkins
#
@@ -1163,11 +1241,11 @@ INTEGRATION_TESTS += [
# "VNF" : "QemuVirtioNet",
# "Trafficgen": "IxNet",
# "Parameters": {"GUEST_LOOPBACK" : ["linux_bridge"],},
-# "TestSteps": STEP_VSWITCH_PVP_FLOWS_INIT +
+# "TestSteps": STEP_VSWITCH_PVP_CONNECTIONS_INIT +
# [
# ['vnf', 'start'],
# ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_continuous', 'bidir' : 'True'}],
# ['vnf', 'stop'],
# ] +
-# STEP_VSWITCH_PVP_FLOWS_FINIT
+# STEP_VSWITCH_PVP_CONNECTIONS_FINIT
# },
diff --git a/conf/integration/01c_trex_vm_tests.conf b/conf/integration/01c_trex_vm_tests.conf
index 50982bea..1bec4efd 100644
--- a/conf/integration/01c_trex_vm_tests.conf
+++ b/conf/integration/01c_trex_vm_tests.conf
@@ -30,6 +30,7 @@ TREX_VM_INIT = [
['#trex_p2', 'vswitch', 'add_vport', 'int_br0'],
# configure IP access to T-Rex VM
['vswitch', 'add_switch', 'trex_br'],
+ ['vswitch', 'add_flow', 'trex_br', {'actions': ['NORMAL']}], # turn on MAC learning mode
['#trex_admin', 'vswitch', 'add_vport', 'trex_br'],
['#trex_spare', 'vswitch', 'add_vport', 'trex_br'], # spare to have even number of NICs
['tools', 'exec_shell', 'sudo ip addr flush dev trex_br'],