|
Introduce a delay to address instability in the VPP API, which may
fail to create the LCP or establish a connection.
This should be reviewed and resolved in future releases.
This fixes confgurations with included kernel-itnerface (LCP)
And all smoketests
Example:
set interfaces ethernet eth1 address '192.0.2.1/30'
set vpp settings interface eth1 driver 'dpdk'
set vpp interfaces vxlan vxlan10 remote '192.0.2.2'
set vpp interfaces vxlan vxlan10 source-address '192.0.2.1'
set vpp interfaces vxlan vxlan10 vni '10'
set vpp interfaces vxlan vxlan10 kernel-interface 'vpptap10'
Without this delay we get:
vyos@r14# commit
[ vpp interfaces vxlan vxlan10 ]
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_interfaces_vxlan.py", line 174, in apply
i.kernel_add()
File "/usr/lib/python3/dist-packages/vyos/vpp/interface/vxlan.py", line 85, in kernel_add
self.vpp.lcp_pair_add(self.ifname, self.kernel_interface)
File "/usr/lib/python3/dist-packages/vyos/vpp/control_vpp.py", line 79, in check_retval_wrapper
return_value = decorated_func(cls, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/vyos/vpp/control_vpp.py", line 58, in api_safe_wrapper
return decorated_func(cls, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/vyos/vpp/control_vpp.py", line 188, in lcp_pair_add
return self.__vpp_api_client.api.lcp_itf_pair_add_del_v2(**api_call_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/vpp_papi/vpp_papi.py", line 129, in __call__
return self._func(**kwargs)
^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/vpp_papi/vpp_papi.py", line 564, in f
return self._call_vpp(i, msg, multipart, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/vpp_papi/vpp_papi.py", line 853, in _call_vpp
raise VPPIOError(2, "VPP API client: read failed")
vpp_papi.vpp_papi.VPPIOError: [Errno 2] VPP API client: read failed
|