summaryrefslogtreecommitdiff
path: root/smoketest/scripts
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2025-10-10 21:11:35 +0200
committerGitHub <noreply@github.com>2025-10-10 21:11:35 +0200
commita1be2ee22cd058d5e18e6ef4fb3ec6468a38aa37 (patch)
tree5dfecfd6d047b8dd0cfa038cffdd1ef646f0d9fb /smoketest/scripts
parent7c1bbdfade7b447a4e6723ea3ba13fc1942cd0e2 (diff)
parentc5cac68ba5a135f80f971e78b97cb9b1c3a0b932 (diff)
downloadvyos-1x-a1be2ee22cd058d5e18e6ef4fb3ec6468a38aa37.tar.gz
vyos-1x-a1be2ee22cd058d5e18e6ef4fb3ec6468a38aa37.zip
Merge pull request #4772 from natali-rs1985/T7887
T7887: system_option: Add validation for memory hugepage-count
Diffstat (limited to 'smoketest/scripts')
-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 4fb318fd8..48935f555 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 8cc2e86e7..4738db485 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'
@@ -1477,6 +1478,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, failfast=VyOSUnitTestSHIM.TestCase.debug_on())