Integration Test: 4 serial VMs testcases. 13/18113/4
authorAntonio Fischetti <antonio.fischetti@intel.com>
Sat, 6 Aug 2016 08:07:37 +0000 (09:07 +0100)
committerAntonio_Fischetti <antonio.fischetti@intel.com>
Wed, 7 Sep 2016 13:31:05 +0000 (14:31 +0100)
Implementation of RFC2544 throughput/back2back and
continuous testcases with 4 serial VMs.

Topology is: Phy1-VM0-VM1-VM2-VM3-Phy2.

This patch requires Patch VSPERF-326 "Integration test
implementation: Multi-PVP with explicit Flows".

v2: rebased to master to fix conflicts.

JIRA: VSPERF-364

Change-Id: Ib731bf6dc4634d6347b1c521bb82326db90a6c63
Signed-off-by: Antonio Fischetti <antonio.fischetti@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
conf/integration/01_testcases.conf

index a67702f..a21eb21 100644 (file)
@@ -128,6 +128,48 @@ STEP_VSWITCH_PVVP_FLOWS_FINIT = [
     ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[3][1]'}],
 ] + STEP_VSWITCH_PVVP_FINIT
 
+STEP_VSWITCH_P4VP_INIT = STEP_VSWITCH_PVVP_INIT + [
+    ['vswitch', 'add_vport', 'int_br0'],            # STEP 7    vm3 ports
+    ['vswitch', 'add_vport', 'int_br0'],            # STEP 8
+    ['vswitch', 'add_vport', 'int_br0'],            # STEP 9    vm4 ports
+    ['vswitch', 'add_vport', 'int_br0'],            # STEP 10
+]
+
+STEP_VSWITCH_P4VP_FINIT = [
+    ['vswitch', 'del_port', 'int_br0', '#STEP[7][0]'],  # vm3 ports
+    ['vswitch', 'del_port', 'int_br0', '#STEP[8][0]'],
+    ['vswitch', 'del_port', 'int_br0', '#STEP[9][0]'],  # vm4 ports
+    ['vswitch', 'del_port', 'int_br0', '#STEP[10][0]'],
+] + STEP_VSWITCH_PVVP_FINIT
+
+STEP_VSWITCH_P4VP_FLOWS_INIT = STEP_VSWITCH_P4VP_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'}],
+            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[6][1]', \
+                'actions': ['output:#STEP[7][1]'], 'idle_timeout': '0'}],
+            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[8][1]', \
+                'actions': ['output:#STEP[9][1]'], 'idle_timeout': '0'}],
+            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[10][1]', \
+                'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}],
+            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[2][1]', \
+                'actions': ['output:#STEP[10][1]'], 'idle_timeout': '0'}],
+            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[9][1]', \
+                'actions': ['output:#STEP[8][1]'], 'idle_timeout': '0'}],
+            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[7][1]', \
+                'actions': ['output:#STEP[6][1]'], 'idle_timeout': '0'}],
+            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[5][1]', \
+                'actions': ['output:#STEP[4][1]'], 'idle_timeout': '0'}],
+            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[3][1]', \
+                'actions': ['output:#STEP[1][1]'], 'idle_timeout': '0'}],
+]
+
+STEP_VSWITCH_P4VP_FLOWS_FINIT = [
+    ['vswitch', 'dump_flows', 'int_br0'],
+    ['vswitch', 'del_flow', 'int_br0'],
+] + STEP_VSWITCH_P4VP_FINIT
+
 STEP_VSWITCH_2PHY_2VM_INIT = STEP_VSWITCH_PVVP_INIT
 
 STEP_VSWITCH_2PHY_2VM_FINIT = STEP_VSWITCH_PVVP_FINIT
@@ -575,6 +617,103 @@ INTEGRATION_TESTS = [
                      ] +
                      STEP_VSWITCH_PVVP_FLOWS_FINIT
     },
+    {
+        "Name": "vswitch_p4vp",
+        "Description": "Just configure 4 chained vnfs",
+        "Deployment": "clean",
+        "TestSteps": STEP_VSWITCH_P4VP_FLOWS_INIT +
+        [
+            ['vnf1', 'start'],
+            ['vnf2', 'start'],
+            ['vnf3', 'start'],
+            ['vnf4', 'start'],
+            ['vnf1', 'stop'],
+            ['vnf2', 'stop'],
+            ['vnf3', 'stop'],
+            ['vnf4', 'stop'],
+        ] +
+        STEP_VSWITCH_P4VP_FLOWS_FINIT
+    },
+    {
+        "Name": "vswitch_p4vp_tput",
+        "Description": "4 chained vnfs, execute RFC2544 throughput test",
+        "Deployment": "clean",
+        "TestSteps": STEP_VSWITCH_P4VP_FLOWS_INIT +
+        [
+            ['vnf1', 'start'],
+            ['vnf2', 'start'],
+            ['vnf3', 'start'],
+            ['vnf4', 'start'],
+            ['trafficgen', 'send_traffic', {'traffic_type' : 'throughput', \
+                'bidir' : 'True'}],
+            ['vnf1', 'stop'],
+            ['vnf2', 'stop'],
+            ['vnf3', 'stop'],
+            ['vnf4', 'stop'],
+        ] +
+        STEP_VSWITCH_P4VP_FLOWS_FINIT
+    },
+    {
+        "Name": "vswitch_p4vp_back2back",
+        "Description": "4 chained vnfs, execute RFC2544 back2back test",
+        "Deployment": "clean",
+        "TestSteps": STEP_VSWITCH_P4VP_FLOWS_INIT +
+        [
+            ['vnf1', 'start'],
+            ['vnf2', 'start'],
+            ['vnf3', 'start'],
+            ['vnf4', 'start'],
+            ['trafficgen', 'send_traffic', {'traffic_type' : 'back2back', \
+                'bidir' : 'True'}],
+            ['vnf1', 'stop'],
+            ['vnf2', 'stop'],
+            ['vnf3', 'stop'],
+            ['vnf4', 'stop'],
+        ] +
+        STEP_VSWITCH_P4VP_FLOWS_FINIT
+    },
+    {
+        "Name": "vswitch_p4vp_cont",
+        "Description": "4 chained vnfs, execute continuous stream test",
+        "Deployment": "clean",
+        "TestSteps": STEP_VSWITCH_P4VP_FLOWS_INIT +
+        [
+            ['vnf1', 'start'],
+            ['vnf2', 'start'],
+            ['vnf3', 'start'],
+            ['vnf4', 'start'],
+            ['trafficgen', 'send_traffic', {'traffic_type' : 'continuous', \
+                'bidir' : 'True'}],
+            ['vnf1', 'stop'],
+            ['vnf2', 'stop'],
+            ['vnf3', 'stop'],
+            ['vnf4', 'stop'],
+        ] +
+        STEP_VSWITCH_P4VP_FLOWS_FINIT
+    },
+    {
+        "Name": "vswitch_p4vp_all",
+        "Description": "4 chained vnfs, execute RFC2544 throughput test",
+        "Deployment": "clean",
+        "TestSteps": STEP_VSWITCH_P4VP_FLOWS_INIT +
+        [
+            ['vnf1', 'start'],
+            ['vnf2', 'start'],
+            ['vnf3', 'start'],
+            ['vnf4', 'start'],
+            ['trafficgen', 'send_traffic', {'traffic_type' : 'throughput', \
+                'bidir' : 'True'}],
+            ['trafficgen', 'send_traffic', {'traffic_type' : 'back2back', \
+                'bidir' : 'True'}],
+            ['trafficgen', 'send_traffic', {'traffic_type' : 'continuous', \
+                'bidir' : 'True'}],
+            ['vnf1', 'stop'],
+            ['vnf2', 'stop'],
+            ['vnf3', 'stop'],
+            ['vnf4', 'stop'],
+        ] +
+        STEP_VSWITCH_P4VP_FLOWS_FINIT
+    },
     {
       # Topology: 2 Parallel PVP connections
       # To run a Linux bridge as a loopback in the Guest use: