diff options
-rwxr-xr-x | ci/build-vsperf.sh | 6 | ||||
-rw-r--r-- | conf/02_vswitch.conf | 8 | ||||
-rw-r--r-- | src/dpdk/dpdk.py | 8 | ||||
-rw-r--r-- | testcases/integration.py | 9 | ||||
-rw-r--r-- | testcases/testcase.py | 13 |
5 files changed, 24 insertions, 20 deletions
diff --git a/ci/build-vsperf.sh b/ci/build-vsperf.sh index 38fda03b..16e4625e 100755 --- a/ci/build-vsperf.sh +++ b/ci/build-vsperf.sh @@ -43,10 +43,10 @@ VSPERFENV_DIR="$HOME/vsperfenv" # CI job specific configuration # VERIFY - run basic set of TCs with default settings TESTCASES_VERIFY="vswitch_add_del_bridge vswitch_add_del_bridges vswitch_add_del_vport vswitch_add_del_vports vswitch_vports_add_del_flow" -TESTPARAM_VERIFY="--integration" +TESTPARAM_VERIFY="--integration --test-params HUGEPAGE_RAM_ALLOCATION=2097152" # MERGE - run selected TCs with default settings TESTCASES_MERGE="vswitch_add_del_bridge vswitch_add_del_bridges vswitch_add_del_vport vswitch_add_del_vports vswitch_vports_add_del_flow" -TESTPARAM_MERGE="--integration" +TESTPARAM_MERGE="--integration --test-params HUGEPAGE_RAM_ALLOCATION=2097152" # DAILY - run selected TCs for defined packet sizes TESTCASES_DAILY='phy2phy_tput back2back phy2phy_tput_mod_vlan phy2phy_scalability pvp_tput pvp_back2back pvvp_tput pvvp_back2back' TESTPARAM_DAILY='--test-params TRAFFICGEN_PKT_SIZES=(64,128,512,1024,1518)' @@ -319,7 +319,7 @@ function dependencies_check() { if [ $ID == "ubuntu" ] ; then echo "Dependencies check" echo "==================" - for PACKAGE in "python3-tk" ; do + for PACKAGE in "python3-tk" "sysstat" ; do if dpkg -s $PACKAGE &> /dev/null ; then printf " %-70s %-6s\n" $PACKAGE "OK" else diff --git a/conf/02_vswitch.conf b/conf/02_vswitch.conf index f9b8f957..2b74dae9 100644 --- a/conf/02_vswitch.conf +++ b/conf/02_vswitch.conf @@ -23,11 +23,15 @@ OVS_CMD_TIMEOUT = 10 RTE_TARGET = 'x86_64-native-linuxapp-gcc' # list of NIC HWIDs to which traffic generator is connected -# In case of NIC with SRIOV suport, it is possible to define, +# e.g. WHITELIST_NICS = ['05:00.0', '05:00.1'] +# NIC HWIDs for given network device name can be retrieved +# by call of ehtool: +# e.g. ethtool -i eth0 +# In case of NIC with SRIOV support, it is possible to define, # which virtual function should be used # e.g. value '0000:05:00.0|vf1' will configure two VFs and second VF # will be used for testing -WHITELIST_NICS = ['0000:05:00.0', '0000:05:00.1'] +WHITELIST_NICS = [] # vhost character device file used by dpdkvhostport QemuWrap cases VHOST_DEV_FILE = 'ovs-vhost-net' diff --git a/src/dpdk/dpdk.py b/src/dpdk/dpdk.py index 16223915..0c5ed9f4 100644 --- a/src/dpdk/dpdk.py +++ b/src/dpdk/dpdk.py @@ -139,6 +139,9 @@ def _vhost_user_cleanup(): def _bind_nics(): """Bind NICs using the Intel DPDK ``dpdk*bind.py`` tool. """ + if not len(_NICS_PCI): + _LOGGER.info('NICs are not configured - nothing to bind') + return try: _driver = 'igb_uio' if 'vfio-pci' in S.getValue('TOOLS')['dpdk_modules']: @@ -151,7 +154,7 @@ def _bind_nics(): True) tasks.run_task(['sudo', S.getValue('TOOLS')['bind-tool'], - '--bind=' + _driver] + + '--bind=' + _driver] + _NICS_PCI, _LOGGER, 'Binding NICs %s...' % _NICS_PCI, True) @@ -161,6 +164,9 @@ def _bind_nics(): def _unbind_nics(): """Unbind NICs using the Intel DPDK ``dpdk*bind.py`` tool. """ + if not len(_NICS_PCI): + _LOGGER.info('NICs are not configured - nothing to unbind') + return try: tasks.run_task(['sudo', S.getValue('TOOLS')['bind-tool'], '--unbind'] + _NICS_PCI, _LOGGER, diff --git a/testcases/integration.py b/testcases/integration.py index 4b9dacfd..f2a5fecf 100644 --- a/testcases/integration.py +++ b/testcases/integration.py @@ -14,19 +14,10 @@ """IntegrationTestCase class """ -import os -import time import logging -import copy -import re from collections import OrderedDict from testcases import TestCase -from conf import settings as S -from tools import namespace -from tools import veth -from tools.teststepstools import TestStepsTools -from core.loader import Loader class IntegrationTestCase(TestCase): """IntegrationTestCase class diff --git a/testcases/testcase.py b/testcases/testcase.py index 01a07391..18ad4240 100644 --- a/testcases/testcase.py +++ b/testcases/testcase.py @@ -32,6 +32,9 @@ from core.results.results_constants import ResultsConstants from tools import tasks from tools import hugepages from tools import functions +from tools import namespace +from tools import veth +from tools.teststepstools import TestStepsTools from tools.pkt_gen.trafficgen.trafficgenhelper import TRAFFIC_DEFAULTS CHECK_PREFIX = 'validate_' @@ -176,7 +179,9 @@ class TestCase(object): self._traffic['l2'] = S.getValue(self._tunnel_type.upper() + '_FRAME_L2') self._traffic['l3'] = S.getValue(self._tunnel_type.upper() + '_FRAME_L3') self._traffic['l4'] = S.getValue(self._tunnel_type.upper() + '_FRAME_L4') - elif S.getValue('NICS')[0]['type'] == 'vf' or S.getValue('NICS')[1]['type'] == 'vf': + elif len(S.getValue('NICS')) and \ + (S.getValue('NICS')[0]['type'] == 'vf' or + S.getValue('NICS')[1]['type'] == 'vf'): mac1 = S.getValue('NICS')[0]['mac'] mac2 = S.getValue('NICS')[1]['mac'] if mac1 and mac2: @@ -278,22 +283,20 @@ class TestCase(object): # cleanup any namespaces created if os.path.isdir('/tmp/namespaces'): - import tools.namespace namespace_list = os.listdir('/tmp/namespaces') if len(namespace_list): self._logger.info('Cleaning up namespaces') for name in namespace_list: - tools.namespace.delete_namespace(name) + namespace.delete_namespace(name) os.rmdir('/tmp/namespaces') # cleanup any veth ports created if os.path.isdir('/tmp/veth'): - import tools.veth veth_list = os.listdir('/tmp/veth') if len(veth_list): self._logger.info('Cleaning up veth ports') for eth in veth_list: port1, port2 = eth.split('-') - tools.veth.del_veth_port(port1, port2) + veth.del_veth_port(port1, port2) os.rmdir('/tmp/veth') def run_report(self): |