summaryrefslogtreecommitdiffstats
path: root/conf/integration
diff options
context:
space:
mode:
Diffstat (limited to 'conf/integration')
-rw-r--r--conf/integration/01b_dpdk_regression_tests.conf145
1 files changed, 52 insertions, 93 deletions
diff --git a/conf/integration/01b_dpdk_regression_tests.conf b/conf/integration/01b_dpdk_regression_tests.conf
index abc56c28..44343d28 100644
--- a/conf/integration/01b_dpdk_regression_tests.conf
+++ b/conf/integration/01b_dpdk_regression_tests.conf
@@ -21,6 +21,10 @@
# Generic configuration used by OVSDPDK testcases
#
############################################################
+
+# required to import path to the log file
+from conf import settings
+
_OVSDPDK_1st_PMD_CORE = 4
_OVSDPDK_2nd_PMD_CORE = 5
# calculate PMD mask from core IDs configured above
@@ -32,8 +36,11 @@ _OVSDPDK_GUEST_5_CORES = [('7', '8', '9', '10', '11')]
# number of queues configured in OVS and GUEST
_OVSDPDK_MQ = '2'
-# Path to the log file
-_OVSDPDK_VSWITCH_LOG = os.path.join(LOG_DIR, LOG_FILE_VSWITCHD)
+# path to the log file
+_RESULTS_PATH = settings.getValue('RESULTS_PATH')
+name, ext = os.path.splitext(settings.getValue('LOG_FILE_VSWITCHD'))
+log_file = "{name}_{uid}{ex}".format(name=name,uid=settings.getValue('LOG_TIMESTAMP'),ex=ext)
+_OVSDPDK_VSWITCH_LOG = os.path.join(_RESULTS_PATH, log_file)
_OVSDPDK_HEADER_LEN = 18 # length of frame headers in bytes, it's used for calculation
# of payload size, i.e. payload = frame_size - header_len
@@ -172,59 +179,6 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [
['tools', 'assert', 'not len(#STEP[-1])'],
]
},
- {
- # Support of netdev-dpdk/detach has been removed from OVS, so testcase will fail with recent
- # OVS/DPDK versions. There is an ongoing discussion about possible support of netdev-dpdk/detach
- # in the future OVS versions.
- # Test has been tested with:
- # OVS_TAG = 03d6399e618e4136c5da0be2b6f18f0b7d75b2bb
- # DPDK_TAG = v16.11
- "Name": "ovsdpdk_hotplug_detach",
- "Deployment": "clean",
- "Description": "Same as ovsdpdk_hotplug_attach, but delete and detach the device after the hotplug. "
- "Note: Support of netdev-dpdk/detach has been removed from OVS, so testcase will fail "
- "with recent OVS/DPDK versions.",
- "vSwitch" : "OvsDpdkVhost",
- "Parameters" : {
- # suppress DPDK configuration, so physical interfaces are not bound to DPDK driver
- 'WHITELIST_NICS' : [],
- 'NICS' : [],
- },
- "TestSteps": [
- # check if OVS supports netdev-dpdk/detach, fail otherwise
- ['tools', 'exec_shell', 'sudo $TOOLS["ovs-appctl"] list-commands', '|netdev-dpdk\/detach'],
- ['tools', 'assert', 'len(#STEP[-1])'],
- # restore original NICS configuration, so we can use add/del_phy_port
- ['settings', 'setValue', 'TEST_PARAMS', ''],
- # find out which DPDK driver is being used; it should be the last configured
- # DPDK module; optional path and .ko suffix must be removed
- ['tools', 'eval', '\'$TOOLS["dpdk_modules"][-1]\'.split("/")[-1].split(".")[0]'],
- # bind NIC to DPDK driver
- ['tools', 'exec_shell', 'sudo $TOOLS["bind-tool"] --bind #STEP[-1] $NICS[0]["pci"]'],
- # and check that DPDK port can be created without errors
- ['vswitch', 'add_switch', 'int_br0'],
- ['#port', 'vswitch', 'add_phy_port', 'int_br0'],
- ['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] show',
- '|Error attaching device.*$NICS[0]["pci"]'],
- ['tools', 'assert', 'not len(#STEP[-1])'],
- # try to unbind port - should fail beause it is being used
- ['tools', 'exec_shell', 'sudo $TOOLS["ovs-appctl"] netdev-dpdk/detach $NICS[0]["pci"] 2>&1; exit 0',
- '|Device.*$NICS[0]["pci"].*is being used by interface'],
- ['tools', 'assert', 'len(#STEP[-1])'],
- # delete port and unbind it - should succeed
- ['vswitch', 'del_port', 'int_br0', '#STEP[port][0]'],
- ['tools', 'exec_shell', 'sudo $TOOLS["ovs-appctl"] netdev-dpdk/detach $NICS[0]["pci"]',
- '|Device.*$NICS[0]["pci"].*has been detached'],
- ['tools', 'assert', 'len(#STEP[-1])'],
- # try to add port again
- ['vswitch', 'add_phy_port', 'int_br0'],
- ['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] show',
- '|Error attaching device.*$NICS[0]["pci"]'],
- # it will work because auto attach was implemented into OVS
- ['tools', 'assert', 'not len(#STEP[-1])'],
- ['vswitch', 'del_switch', 'int_br0'],
- ]
- },
]
############################################################
@@ -410,7 +364,7 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [
"VSWITCH_DPDK_MULTI_QUEUES" : _OVSDPDK_MQ,
},
"TestSteps": [
- ['tools', 'exec_shell', 'sudo $TOOLS["ovs-appctl"] dpif-netdev/pmd-rxq-show','|dpdk[01]\s+queue-id: \d+'],
+ ['tools', 'exec_shell', 'sudo $TOOLS["ovs-appctl"] dpif-netdev/pmd-rxq-show','|dpdk[01]\s+queue-id:\s+\d+'],
# check that requested nr of queues was created on both NICs
['tools', 'assert', 'len(#STEP[-1])=={}'.format(int(_OVSDPDK_MQ)*2)],
]
@@ -432,8 +386,10 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [
},
"TestSteps": [
['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] -- set Interface dpdk0 other_config:pmd-rxq-affinity="0:{},1:{}"'.format(_OVSDPDK_1st_PMD_CORE, _OVSDPDK_1st_PMD_CORE)],
- ['tools', 'exec_shell', 'sudo $TOOLS["ovs-appctl"] dpif-netdev/pmd-rxq-show','|dpdk0\s+queue-id: 0 1'],
- ['tools', 'assert', 'len(#STEP[-1])==1'],
+ ['tools', 'exec_shell', 'sudo $TOOLS["ovs-appctl"] dpif-netdev/pmd-rxq-show','|dpdk0\s+queue-id:\s+0'],
+ ['tools', 'exec_shell', 'sudo $TOOLS["ovs-appctl"] dpif-netdev/pmd-rxq-show','|dpdk0\s+queue-id:\s+1'],
+ ['tools', 'assert', 'len(#STEP[-2])==1'],
+ ['tools', 'assert', 'len(#STEP[-2])==1'],
]
},
{
@@ -453,8 +409,8 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [
},
"TestSteps": [
['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] -- set Interface dpdk0 other_config:pmd-rxq-affinity="0:{},1:{}"'.format(_OVSDPDK_1st_PMD_CORE, _OVSDPDK_2nd_PMD_CORE)],
- ['tools', 'exec_shell', 'sudo $TOOLS["ovs-appctl"] dpif-netdev/pmd-rxq-show','|dpdk0\s+queue-id: 0$'],
- ['tools', 'exec_shell', 'sudo $TOOLS["ovs-appctl"] dpif-netdev/pmd-rxq-show','|dpdk0\s+queue-id: 1$'],
+ ['tools', 'exec_shell', 'sudo $TOOLS["ovs-appctl"] dpif-netdev/pmd-rxq-show','|dpdk0\s+queue-id:\s+0'],
+ ['tools', 'exec_shell', 'sudo $TOOLS["ovs-appctl"] dpif-netdev/pmd-rxq-show','|dpdk0\s+queue-id:\s+1'],
['tools', 'assert', 'len(#STEP[-2])==1'],
['tools', 'assert', 'len(#STEP[-2])==1'],
]
@@ -475,12 +431,15 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [
"TestSteps": STEP_VSWITCH_PVP_INIT +
[
['tools', 'exec_shell', "sudo $TOOLS['ovs-appctl'] dpif-netdev/pmd-rxq-show",
- '|dpdkvhostuserclient0\s+queue-id: \d'],
+ '|dpdkvhostuserclient0\s+queue-id:\s+\d'],
['tools', 'assert', 'len(#STEP[-1])==1'],
['vnf', 'start'],
['tools', 'exec_shell', "sudo $TOOLS['ovs-appctl'] dpif-netdev/pmd-rxq-show",
- '|dpdkvhostuserclient0\s+queue-id: 0 1'],
- ['tools', 'assert', 'len(#STEP[-1])==1'],
+ '|dpdkvhostuserclient0\s+queue-id:\s+0'],
+ ['tools', 'exec_shell', "sudo $TOOLS['ovs-appctl'] dpif-netdev/pmd-rxq-show",
+ '|dpdkvhostuserclient0\s+queue-id:\s+1'],
+ ['tools', 'assert', 'len(#STEP[-2])==1'],
+ ['tools', 'assert', 'len(#STEP[-2])==1'],
['vnf', 'stop'],
] +
STEP_VSWITCH_PVP_FINIT
@@ -500,11 +459,12 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [
"TRAFFICGEN_DURATION" : 5,
"TRAFFICGEN" : "IxNet",
"TRAFFIC" : {
- "bidir" : "false",
+ "bidir" : "False",
"traffic_type" : "rfc2544_continuous",
"multistream" : 6,
"stream_type" : "L3",
"frame_rate" : 1,
+ "learning_frames" : False,
'l2': {
'srcmac': "00:00:07:00:0E:00",
'dstmac': "00:00:00:00:00:01"
@@ -514,7 +474,7 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [
'proto': 'udp',
'srcip': '6.6.6.6',
'dstip': '1.1.1.1',
- },
+ }
}
},
"TestSteps": STEP_VSWITCH_PVP_INIT + [
@@ -525,6 +485,7 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [
# so send_traffic() will end with success
['vswitch', 'add_flow', 'int_br0',
{'in_port': '#STEP[2][1]', 'actions': ['output:#STEP[1][1]'], 'idle_timeout': '0'}],
+ ['vswitch', 'add_flow', 'int_br0', {'priority' : '0', 'actions' : ['NORMAL']}],
['vnf', 'start'],
# configure two channels, so multiple cores could be used
['vnf', 'execute_and_wait', 'ethtool -L eth0 combined 2'],
@@ -549,7 +510,6 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [
['vnf', 'execute_and_wait', 'route add default gw 1.1.1.5 eth0'],
['vnf', 'execute_and_wait', 'arp -s 1.1.1.5 DE:AD:BE:EF:CA:FC'],
['vnf', 'execute_and_wait', 'ip a'],
-
['trafficgen', 'send_traffic',{}],
# check interrupts to verify that traffic was corectly dispatched...
['#result', 'vnf', 'execute_and_wait', 'cat /proc/interrupts',
@@ -580,16 +540,15 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [
# there must be separate CPU for each of RX/TX queues
"GUEST_SMP" : ['5'],
"GUEST_TESTPMD_PARAMS" : ['-c 0x1F -n 4 --socket-mem 512 -- '
- '--burst=64 -i --txqflags=0xf00 --nb-cores=4 '
- # map queue stats to separate regs to verify MQ functionality
- '--rx-queue-stats-mapping=\(0,0,0\),\(0,1,1\),\(1,0,2\),\(1,1,3\) '
- '--tx-queue-stats-mapping=\(0,0,4\),\(0,1,5\),\(1,0,6\),\(1,1,7\) '
- '--disable-hw-vlan --rxq=2 --txq=2'],
+ '--burst=64 -i --nb-cores=4 '
+ '--rxq=2 --txq=2'],
"TRAFFICGEN_DURATION" : 5,
"TRAFFIC" : {
"traffic_type" : "rfc2544_continuous",
"multistream" : 3,
"stream_type" : "L3",
+ "frame_rate" : 1,
+ "learning_frames" : False,
'l3': {
'enabled': True,
'proto': 'udp',
@@ -597,12 +556,21 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [
'dstip': '1.1.1.1',
},
},
+ "GUEST_QUEUE_STATS_MAPPING" : ["rx 0 0 0",
+ "rx 0 1 1",
+ "rx 1 0 2",
+ "rx 1 1 3",
+ "tx 0 0 4",
+ "tx 0 1 5",
+ "tx 1 0 6",
+ "tx 1 1 7"
+ ]
},
"TestSteps": STEP_VSWITCH_PVP_FLOWS_INIT +
[
['vnf', 'start'],
['tools', 'exec_shell', "sudo $TOOLS['ovs-appctl'] dpif-netdev/pmd-rxq-show",
- '|dpdk\w+\s+queue-id: \d'],
+ '|dpdk\w+\s+queue-id:\s+\d'],
# there must be two standalone queue records for every interface (2x4)
['tools', 'assert', 'len(#STEP[-1])==8'],
['trafficgen', 'send_traffic', {}],
@@ -739,7 +707,7 @@ _OVSDPDK_VDEV_ADD_NULL = [
['vswitch', 'add_switch', 'int_br0'],
['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] add-port int_br0 null0 -- '
'set Interface null0 type=dpdk options:dpdk-devargs=eth_null0'],
- ['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] show', '|dpdk-devargs=\S+eth_null0'],
+ ['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] show', '|dpdk-devargs=eth_null0'],
['tools', 'assert', 'len(#STEP[-1])==1'],
]
@@ -776,7 +744,7 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [
"TestSteps": _OVSDPDK_VDEV_ADD_NULL + [
['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] del-port null0'],
['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] show',
- '|dpdk-devargs=\S+eth_null0'],
+ '|dpdk-devargs=eth_null0'],
['tools', 'assert', 'not len(#STEP[-1])'],
]
},
@@ -1017,9 +985,9 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [
"TestSteps": [
['vswitch', 'add_switch', 'int_br0'],
['vswitch', 'add_phy_port', 'int_br0'],
- ['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] set Interface dpdk0 mtu_request=9710'],
+ ['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] set Interface dpdk0 mtu_request=9702'],
['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] get Interface dpdk0 mtu'],
- ['tools', 'assert', 'int(#STEP[-1])==9710'],
+ ['tools', 'assert', 'int(#STEP[-1])==9702'],
# get line number of next log file entry
['tools', 'exec_shell', 'echo $((1+`wc -l $_OVSDPDK_VSWITCH_LOG | cut -d" " -f1`))', '(\d+)'],
['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] set Interface dpdk0 mtu_request=9711'],
@@ -1027,7 +995,7 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [
['tools', 'exec_shell', "sed -n '#STEP[-2][0],$ p' $_OVSDPDK_VSWITCH_LOG",
'|unsupported MTU 9711'],
['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] get Interface dpdk0 mtu'],
- ['tools', 'assert', 'int(#STEP[-1])==9710'],
+ ['tools', 'assert', 'int(#STEP[-1])==9702'],
]
},
{
@@ -1041,9 +1009,9 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [
"TestSteps": [
['vswitch', 'add_switch', 'int_br0'],
['vswitch', 'add_vport', 'int_br0'],
- ['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] set Interface dpdkvhostuserclient0 mtu_request=9710'],
+ ['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] set Interface dpdkvhostuserclient0 mtu_request=9702'],
['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] get Interface dpdkvhostuserclient0 mtu'],
- ['tools', 'assert', 'int(#STEP[-1])==9710'],
+ ['tools', 'assert', 'int(#STEP[-1])==9702'],
# get line number of next log file entry
['tools', 'exec_shell', 'echo $((1+`wc -l $_OVSDPDK_VSWITCH_LOG | cut -d" " -f1`))', '(\d+)'],
['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] set Interface dpdkvhostuserclient0 mtu_request=9711'],
@@ -1052,7 +1020,7 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [
'|unsupported MTU 9711'],
['tools', 'assert', 'len(#STEP[-1])'],
['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] get Interface dpdkvhostuserclient0 mtu'],
- ['tools', 'assert', 'int(#STEP[-1])==9710'],
+ ['tools', 'assert', 'int(#STEP[-1])==9702'],
]
},
{
@@ -1200,8 +1168,8 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [
['trafficgen', 'get_results'],
# all traffic should pass through (i.e. 0% frame loss)
['tools', 'assert', 'float(#STEP[-1][0]["frame_loss_percent"])==0'],
- # set packetsize to 9019 and send traffic
- ['settings', 'setValue', 'TRAFFICGEN_PKT_SIZES', (9019,)],
+ # set packetsize to 9702 and send traffic
+ ['settings', 'setValue', 'TRAFFICGEN_PKT_SIZES', (9702,)],
# disable verification of send_traffic "!" prefix, otherwise vsperf
# will fail when 100% packet loss is detected
['!trafficgen', 'send_traffic', {}],
@@ -1244,10 +1212,6 @@ _OVSDPDK_RATE_set_rate_limiter = [
'set Interface $_OVSDPDK_RATE_PORT$_OVSDPDK_RATE_NICID '
'ingress_policing_burst=$_OVSDPDK_RATE_BURST '
'ingress_policing_rate=$_OVSDPDK_RATE_RATE'],
- # check vswitchd log file, that rate limiter was created
- ['tools', 'exec_shell', "sed -n '#STEP[-2][0],$ p' $_OVSDPDK_VSWITCH_LOG",
- '|CIR period'],
- ['tools', 'assert', '("CIR period" in #STEP[-1])==$_OVSDPDK_RATE_LIMITER_CREATED'],
# verify that interface has correct rate limiter configuration
['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] '
'list interface $_OVSDPDK_RATE_PORT$_OVSDPDK_RATE_NICID',
@@ -1491,11 +1455,6 @@ _OVSDPDK_QOS_set_qos = [
'other-config:cbs=$_OVSDPDK_QOS_CBS','|\w{8}-\w{4}-\w{4}-\w{4}-\w{12}'],
['tools', 'assert', 'len(#STEP[-1])==1'],
- # Check the OVS logs
- ['tools', 'exec_shell', "sed -n '#STEP[-3][0],$ p' $_OVSDPDK_VSWITCH_LOG",
- '|CIR period'],
- ['tools', 'assert', '"CIR period" in #STEP[-1]'],
-
# Check the QoS policy and attributes
['tools', 'exec_shell', 'sudo $TOOLS["ovs-appctl"] -t ovs-vswitchd qos/show '
'$_OVSDPDK_QOS_PORT$_OVSDPDK_QOS_NICID', '.+'],
@@ -1615,7 +1574,7 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [
# Check the OVS logs
['tools', 'exec_shell', "sed -n '#STEP[LOG_MARK][0],$ p' $_OVSDPDK_VSWITCH_LOG",
- 'Failed to set QoS type egress-policer on port #STEP[1][0]: No such file or directory'],
+ 'Failed to set QoS type egress-policer on port #STEP[1][0]: Invalid argument'],
['tools', 'assert', 'len(#STEP[-1])==1'],
# Check the attributes for vhost0
@@ -1645,7 +1604,7 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [
# Check the OVS logs
['tools', 'exec_shell', "sed -n '#STEP[LOG_MARK][0],$ p' $_OVSDPDK_VSWITCH_LOG",
- 'Failed to set QoS type egress-policer on port #STEP[1][0]: No such file or directory'],
+ 'Failed to set QoS type egress-policer on port #STEP[1][0]: Invalid argument'],
['tools', 'assert', 'len(#STEP[-1])==1'],
# Check the attributes for vhost0