Page MenuHomeVyOS Platform

VPP statseg page-size verify
Closed, ResolvedPublicBUG

Description

VPP statseg page-size settings should be verified and calculated before apply

set vpp settings interface eth1 driver dpdk
set vpp settings statseg page-size 254G
commit

commit

vyos@r14# commit
[ vpp ]
Traceback (most recent call last):
  File "/usr/libexec/vyos/services/vyos-configd", line 139, in run_script
    script.apply(c)
  File "/usr/libexec/vyos//conf_mode/vpp.py", line 472, in apply
    vpp_control = VPPControl(attempts=20, interval=500)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/vyos/vpp/control_vpp.py", line 109, in __init__
    raise VPPIOError(2, 'Cannot connect to VPP API')
vpp_papi.vpp_papi.VPPIOError: [Errno 2] Cannot connect to VPP API

[[vpp]] failed
Commit failed
[edit]
vyos@r14# 
[edit]
vyos@r14# sudo /usr/bin/vpp -c /run/vpp/vpp.conf
vpp[6694]: vlib_stats_init: stat segment memory fd failure: clib_mem_vm_create_fd: memfd_create: No such device
[edit]
vyos@r14#

Details

Version
VyOS 1.5-current-vpp-202501211103
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)

Related Objects

StatusSubtypeAssignedTask
OpenBUGNone
ResolvedBUGHollyGurza

Event Timeline

dmbaturin changed Is it a breaking change? from Unspecified (possibly destroys the router) to Perfectly compatible.

Mem_page_size test fails

vyos@r14:~$ /usr/libexec/vyos/tests/smoke/cli/test_vpp.py
test_01_vpp_basic (__main__.TestVPP.test_01_vpp_basic) ... ok
test_02_vpp_vxlan (__main__.TestVPP.test_02_vpp_vxlan) ... ok
test_03_vpp_gre (__main__.TestVPP.test_03_vpp_gre) ... ok
test_04_vpp_geneve (__main__.TestVPP.test_04_vpp_geneve) ... skipped 'Skipping this test geneve index always is 0'
test_05_vpp_loopback (__main__.TestVPP.test_05_vpp_loopback) ... ok
test_06_vpp_bonding (__main__.TestVPP.test_06_vpp_bonding) ... ok
test_07_vpp_bridge (__main__.TestVPP.test_07_vpp_bridge) ... ok
test_08_vpp_ipip (__main__.TestVPP.test_08_vpp_ipip) ... ok
test_09_vpp_xconnect (__main__.TestVPP.test_09_vpp_xconnect) ... ok
test_10_vpp_driver_options (__main__.TestVPP.test_10_vpp_driver_options) ... ok
test_11_vpp_cpu_settings (__main__.TestVPP.test_11_vpp_cpu_settings) ... ok
test_12_vpp_cpu_corelist_workers (__main__.TestVPP.test_12_vpp_cpu_corelist_workers) ... ok
test_13_mem_page_size (__main__.TestVPP.test_13_mem_page_size) ... ERROR
test_13_mem_page_size (__main__.TestVPP.test_13_mem_page_size) ... FAIL
test_14_mem_default_hugepage (__main__.TestVPP.test_14_mem_default_hugepage) ... ok

======================================================================
ERROR: test_13_mem_page_size (__main__.TestVPP.test_13_mem_page_size)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/libexec/vyos/tests/smoke/cli/test_vpp.py", line 1112, in test_13_mem_page_size
    self.cli_commit()
  File "/usr/libexec/vyos/tests/smoke/cli/base_vyostest_shim.py", line 97, in cli_commit
    self._session.commit()
  File "/usr/lib/python3/dist-packages/vyos/configsession.py", line 264, in commit
    out = self.__run_command([COMMIT])
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/vyos/configsession.py", line 201, in __run_command
    raise ConfigSessionError(output)
vyos.configsession.ConfigSessionError: [ vpp ]
Traceback (most recent call last):
  File "/usr/libexec/vyos/services/vyos-configd", line 146, in run_script
    script.apply(c)
  File "/usr/libexec/vyos//conf_mode/vpp.py", line 626, in apply
    vpp_control = VPPControl(attempts=20, interval=500)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/vyos/vpp/control_vpp.py", line 109, in __init__
    raise VPPIOError(2, 'Cannot connect to VPP API')
vpp_papi.vpp_papi.VPPIOError: [Errno 2] Cannot connect to VPP API

[[vpp]] failed
Commit failed


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

----------------------------------------------------------------------
Ran 14 tests in 219.609s

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

Mem_page_size test fails
...

Getting the exact same error on smoke tests. Was the mentioned pull request meant to fix this, or to ensure it is checked?

i create a new task for smoke test problems.
This issue is technically resolved.