summaryrefslogtreecommitdiff
path: root/smoketest/scripts/cli
diff options
context:
space:
mode:
authorNataliia S. <81954790+natali-rs1985@users.noreply.github.com>2025-06-24 17:36:18 +0300
committerGitHub <noreply@github.com>2025-06-24 15:36:18 +0100
commit6eb93578a33f27007c4ecda8b71efbd880a97653 (patch)
treee1ad4b583e9cd74f5e02d6c44333dce5c69abb8d /smoketest/scripts/cli
parent429563d0822adc715757447515a49e0d87911476 (diff)
downloadvyos-1x-6eb93578a33f27007c4ecda8b71efbd880a97653.tar.gz
vyos-1x-6eb93578a33f27007c4ecda8b71efbd880a97653.zip
T7424: Refactor resource validation and broaden cases (#38)
* T7424: Refactor and extend resource usage verification on commit for VPP CLI T7424: Fix ruff errors * T7424: Implement check for smoke tests runtime; reduce resource requirements for test environments T7424: Fix errors in calculating the skipped and reserved CPU cores; Adjust default main heap size value. * T7424: Refactor the CPU checks logic; Add total CPU usage check T7424: Fix CPU reserve and skip cores calculations; Add total CPU usage check T7424: Refactor smoketests to reflect new logic * T7424: Refactor the CPU and memory checks logic --------- Co-authored-by: oniko94 <onikolaiev94@outlook.com>
Diffstat (limited to 'smoketest/scripts/cli')
-rwxr-xr-xsmoketest/scripts/cli/test_vpp.py28
1 files changed, 24 insertions, 4 deletions
diff --git a/smoketest/scripts/cli/test_vpp.py b/smoketest/scripts/cli/test_vpp.py
index d8f7f3473..3dfbb4cc8 100755
--- a/smoketest/scripts/cli/test_vpp.py
+++ b/smoketest/scripts/cli/test_vpp.py
@@ -41,6 +41,7 @@ VPP_CONF = '/run/vpp/vpp.conf'
base_path = ['vpp']
driver = 'dpdk'
interface = 'eth1'
+system_memory_path = ['system', 'option', 'kernel', 'memory']
def get_vpp_config():
@@ -96,6 +97,9 @@ class TestVPP(VyOSUnitTestSHIM.TestCase):
def setUp(self):
self.cli_set(base_path + ['settings', 'interface', interface, 'driver', driver])
self.cli_set(base_path + ['settings', 'unix', 'poll-sleep-usec', '10'])
+ self.cli_set(
+ system_memory_path + ['hugepage-size', '2M', 'hugepage-count', '2048']
+ )
def tearDown(self):
try:
@@ -110,6 +114,12 @@ class TestVPP(VyOSUnitTestSHIM.TestCase):
self.cli_delete(['interfaces', 'ethernet', interface, 'address'])
self.cli_commit()
+ # delete kernel memory settings
+ self.cli_delete(
+ system_memory_path + ['hugepage-size', '2M', 'hugepage-count', '2048']
+ )
+ self.cli_commit()
+
self.assertFalse(os.path.exists(VPP_CONF))
self.assertFalse(process_named_running(PROCESS_NAME))
@@ -1084,15 +1094,25 @@ class TestVPP(VyOSUnitTestSHIM.TestCase):
dpdk_options = {
'num-rx-desc': '512',
'num-tx-desc': '512',
- 'num-rx-queues': '3',
- 'num-tx-queues': '3',
+ 'num-rx-queues': '1',
+ 'num-tx-queues': '1',
}
+ main_core = '0'
+ workers = '1'
base_interface_path = base_path + ['settings', 'interface', interface]
for option, value in dpdk_options.items():
self.cli_set(base_interface_path + ['dpdk-options', option, value])
+ # rx/tx queue configuration expect VPP workers to be set
+ # expect raise ConfigError
+ with self.assertRaises(ConfigSessionError):
+ self.cli_commit()
+
+ self.cli_set(base_path + ['settings', 'cpu', 'main-core', main_core])
+ self.cli_set(base_path + ['settings', 'cpu', 'workers', workers])
+
# DPDK driver expect only dpdk-options and not xdp-options to be set
# expect raise ConfigError
self.cli_set(base_interface_path + ['xdp-options', 'no-syscall-lock'])
@@ -1112,7 +1132,7 @@ class TestVPP(VyOSUnitTestSHIM.TestCase):
def test_11_vpp_cpu_settings(self):
main_core = '2'
- workers = '2'
+ workers = '1'
skip_cores = '1'
self.cli_set(base_path + ['settings', 'cpu', 'workers', workers])
@@ -1149,7 +1169,7 @@ class TestVPP(VyOSUnitTestSHIM.TestCase):
def test_12_vpp_cpu_corelist_workers(self):
main_core = '0'
- corelist_workers = ['1', '2-3']
+ corelist_workers = ['3']
for worker in corelist_workers:
self.cli_set(base_path + ['settings', 'cpu', 'corelist-workers', worker])