Page MenuHomeVyOS Platform

VPP fails if we use only 1G hugepages and use main-heap-page-size 2048K
Closed, InvalidPublicBUG

Description

To reproduce

vyos@r14:~$ show conf com | match kern
set system option kernel memory default-hugepage-size '1G'
set system option kernel memory hugepage-size 1G hugepage-count '4'
vyos@r14:~$

Start smoketest:

vyos@r14:~$ touch /tmp/vyos.smoketest.debug
vyos@r14:~$ /usr/libexec/vyos/tests/smoke/cli/test_vpp.py -k test_13_3_mem_page_size
del vpp
test_13_3_mem_page_size (__main__.TestVPP.test_13_3_mem_page_size) ... set vpp settings interface eth1 driver dpdk
set vpp settings unix poll-sleep-usec 10
set vpp settings memory main-heap-page-size default
commit
set vpp settings memory main-heap-page-size 2048K
commit
ERROR
del vpp
commit
del interfaces ethernet eth1 address
commit
test_13_3_mem_page_size (__main__.TestVPP.test_13_3_mem_page_size) ... FAIL

======================================================================
ERROR: test_13_3_mem_page_size (__main__.TestVPP.test_13_3_mem_page_size)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/libexec/vyos/tests/smoke/cli/test_vpp.py", line 1232, in test_13_3_mem_page_size
    self.cli_commit()
  File "/usr/libexec/vyos/tests/smoke/cli/base_vyostest_shim.py", line 103, in cli_commit
    out = self._session.commit()
          ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/vyos/configsession.py", line 305, in commit
    out = self.__run_command([COMMIT])
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/vyos/configsession.py", line 235, in __run_command
    raise ConfigSessionError(output)
vyos.configsession.ConfigSessionError: [ vpp ]
An error occurred: [Errno 2] Cannot connect to VPP API. VPP service will
be restarted with the previous configuration
[[vpp]] failed
Commit failed


======================================================================
FAIL: test_13_3_mem_page_size (__main__.TestVPP.test_13_3_mem_page_size)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/libexec/vyos/tests/smoke/cli/test_vpp.py", line 103, in tearDown
    self.assertTrue(process_named_running(PROCESS_NAME))
AssertionError: None is not true

----------------------------------------------------------------------
Ran 1 test in 32.895s

FAILED (failures=1, errors=1)
vyos@r14:~$ 
vyos@r14:~$

Logs:

Aug 01 15:42:04 r14 systemd[1]: vpp.service: Main process exited, code=exited, status=1/FAILURE
Aug 01 15:42:04 r14 systemd[1]: vpp.service: Failed with result 'exit-code'.
Aug 01 15:42:04 r14 systemd[1]: vpp.service: Triggering OnFailure= dependencies.
Aug 01 15:42:04 r14 systemd[1]: Starting Restart VPP on failure...
Aug 01 15:42:04 r14 python3[786]: VPP API connection timeout: [Errno 111] Connection refused
Aug 01 15:42:04 r14 python3[786]: VPP API connection timeout: [Errno 111] Connection refused
Aug 01 15:42:04 r14 python3[8902]: Traceback (most recent call last):
Aug 01 15:42:04 r14 python3[8902]:   File "/usr/libexec/vyos/reset_section.py", line 116, in <module>
Aug 01 15:42:04 r14 python3[8902]:     session.commit()
Aug 01 15:42:04 r14 python3[8902]:   File "/usr/lib/python3/dist-packages/vyos/configsession.py", line 305, in commit
Aug 01 15:42:04 r14 python3[8902]:     out = self.__run_command([COMMIT])
Aug 01 15:42:04 r14 python3[8902]:           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Aug 01 15:42:04 r14 python3[8902]:   File "/usr/lib/python3/dist-packages/vyos/configsession.py", line 235, in __run_command
Aug 01 15:42:04 r14 python3[8902]:     raise ConfigSessionError(output)
Aug 01 15:42:04 r14 python3[8902]: vyos.configsession.ConfigSessionError: Configuration system temporarily locked due to another commit in progress
Aug 01 15:42:04 r14 systemd[1]: vpp-failure-handler.service: Main process exited, code=exited, status=1/FAILURE
Aug 01 15:42:04 r14 systemd[1]: opt-vyatta-config-tmp-new_config_8902.mount: Deactivated successfully.
Aug 01 15:42:04 r14 systemd[1]: vpp-failure-handler.service: Failed with result 'exit-code'.
Aug 01 15:42:04 r14 systemd[1]: Failed to start Restart VPP on failure.
Aug 01 15:42:05 r14 netplugd[8921]: /etc/netplug/netplug eth1.19 probe -> pid 8921

We should verify it

Details

Version
VyOS 2025.08.01-0024-rolling
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Bug (incorrect behavior)

Event Timeline

Viacheslav triaged this task as Normal priority.
Viacheslav changed the task status from Open to Needs testing.Sep 25 2025, 12:06 AM

we cannot run smoketests if we use only 1G hugepages. If we set 2M main-heap-page-size and don't have this pages in the system, the test will fail