summaryrefslogtreecommitdiff
path: root/smoketest/scripts/cli
diff options
context:
space:
mode:
authorNataliia Solomko <natalirs1985@gmail.com>2025-10-03 12:53:32 +0300
committerNataliia Solomko <natalirs1985@gmail.com>2025-10-06 13:28:07 +0300
commitc5cac68ba5a135f80f971e78b97cb9b1c3a0b932 (patch)
tree6a1a10a53abd839c03b4454052e5e8ab3889f61a /smoketest/scripts/cli
parent5248f1cebd4ac9cd8bebb62aa08ecc042a082f30 (diff)
downloadvyos-1x-c5cac68ba5a135f80f971e78b97cb9b1c3a0b932.tar.gz
vyos-1x-c5cac68ba5a135f80f971e78b97cb9b1c3a0b932.zip
T7887: system_option: Add validation for memory hugepage-count
Move smoke test for hugepages to test_vpp.py
Diffstat (limited to 'smoketest/scripts/cli')
-rwxr-xr-xsmoketest/scripts/cli/test_system_option.py11
-rwxr-xr-xsmoketest/scripts/cli/test_vpp.py34
2 files changed, 34 insertions, 11 deletions
diff --git a/smoketest/scripts/cli/test_system_option.py b/smoketest/scripts/cli/test_system_option.py
index 69f053a7f..1296fcf26 100755
--- a/smoketest/scripts/cli/test_system_option.py
+++ b/smoketest/scripts/cli/test_system_option.py
@@ -105,11 +105,6 @@ class TestSystemOption(VyOSUnitTestSHIM.TestCase):
isolate_cpus = '1,2,3'
nohz_full = '2'
rcu_no_cbs = '1,2,4-5'
- default_hp_size = '2M'
- hp_size_1g = '1G'
- hp_size_2m = '2M'
- hp_count_1g = '2'
- hp_count_2m = '512'
self.cli_set(['system', 'option', 'kernel', 'cpu', 'disable-nmi-watchdog'])
self.cli_set(['system', 'option', 'kernel', 'cpu', 'isolate-cpus', isolate_cpus])
@@ -121,9 +116,6 @@ class TestSystemOption(VyOSUnitTestSHIM.TestCase):
self.cli_set(['system', 'option', 'kernel', 'disable-power-saving'])
self.cli_set(['system', 'option', 'kernel', 'disable-softlockup'])
self.cli_set(['system', 'option', 'kernel', 'memory', 'disable-numa-balancing'])
- self.cli_set(['system', 'option', 'kernel', 'memory', 'default-hugepage-size', default_hp_size])
- self.cli_set(['system', 'option', 'kernel', 'memory', 'hugepage-size', hp_size_1g, 'hugepage-count', hp_count_1g])
- self.cli_set(['system', 'option', 'kernel', 'memory', 'hugepage-size', hp_size_2m, 'hugepage-count', hp_count_2m])
self.cli_set(['system', 'option', 'kernel', 'quiet'])
self.cli_set(['system', 'option', 'kernel', 'amd-pstate-driver', amd_pstate_mode])
@@ -147,9 +139,6 @@ class TestSystemOption(VyOSUnitTestSHIM.TestCase):
self.assertIn(f' isolcpus={isolate_cpus}', tmp)
self.assertIn(f' nohz_full={nohz_full}', tmp)
self.assertIn(f' rcu_nocbs={rcu_no_cbs}', tmp)
- self.assertIn(f' default_hugepagesz={default_hp_size}', tmp)
- self.assertIn(f' hugepagesz={hp_size_1g} hugepages={hp_count_1g}', tmp)
- self.assertIn(f' hugepagesz={hp_size_2m} hugepages={hp_count_2m}', tmp)
self.assertIn(' numa_balancing=disable', tmp)
if cpu_vendor == 'AuthenticAMD':
diff --git a/smoketest/scripts/cli/test_vpp.py b/smoketest/scripts/cli/test_vpp.py
index eb14fb2df..c6a67beb7 100755
--- a/smoketest/scripts/cli/test_vpp.py
+++ b/smoketest/scripts/cli/test_vpp.py
@@ -31,6 +31,7 @@ from vyos.utils.process import process_named_running
from vyos.utils.file import read_file
from vyos.utils.process import rc_cmd
from vyos.utils.system import sysctl_read
+from vyos.system import image
PROCESS_NAME = 'vpp_main'
VPP_CONF = '/run/vpp/vpp.conf'
@@ -1478,6 +1479,39 @@ class TestVPP(VyOSUnitTestSHIM.TestCase):
self.cli_delete(['interfaces', 'ethernet', interface, 'vif'])
self.cli_commit()
+ def test_20_kernel_options_hugepages(self):
+ default_hp_size = '2M'
+ hp_size_1g = '1G'
+ hp_size_2m = '2M'
+ hp_count_1g = '2'
+ hp_count_2m = '512'
+ memory_path = ['system', 'option', 'kernel', 'memory']
+
+ self.cli_set(memory_path + ['default-hugepage-size', default_hp_size])
+ self.cli_set(
+ memory_path + ['hugepage-size', hp_size_2m, 'hugepage-count', hp_count_2m]
+ )
+ self.cli_set(
+ memory_path + ['hugepage-size', hp_size_1g, 'hugepage-count', '2000']
+ )
+ # very big number of 1G hugepages, not enough memory for configuring them
+ # expect raise ConfigError
+ with self.assertRaises(ConfigSessionError):
+ self.cli_commit()
+
+ self.cli_set(
+ memory_path + ['hugepage-size', hp_size_1g, 'hugepage-count', hp_count_1g]
+ )
+ self.cli_commit()
+
+ # Read GRUB config file for current running image
+ tmp = read_file(
+ f'{image.grub.GRUB_DIR_VYOS_VERS}/{image.get_running_image()}.cfg'
+ )
+ self.assertIn(f' default_hugepagesz={default_hp_size}', tmp)
+ self.assertIn(f' hugepagesz={hp_size_1g} hugepages={hp_count_1g}', tmp)
+ self.assertIn(f' hugepagesz={hp_size_2m} hugepages={hp_count_2m}', tmp)
+
if __name__ == '__main__':
unittest.main(verbosity=2)