summaryrefslogtreecommitdiff
path: root/smoketest/scripts/cli/test_vpp.py
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/test_vpp.py
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/test_vpp.py')
-rwxr-xr-xsmoketest/scripts/cli/test_vpp.py34
1 files changed, 34 insertions, 0 deletions
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)