Zun

Unable to use 'cni' driver with Linux bridge network

Bug #1906371 reported by Andrew Bonney
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Zun
Fix Released
Critical
hongbin

Bug Description

On a system which isn't running OVS, Zun appears to have a missing piece when configured to use the 'cni' driver for containers or the 'cri' driver for capsules.

I receive the following traceback when attempting to start a container:

Dec 01 08:48:51 aio1 zun-compute[11226]: Traceback (most recent call last):
Dec 01 08:48:51 aio1 zun-compute[11226]: File "/openstack/venvs/zun-22.0.0.0b2.dev20/lib/python3.6/site-packages/zun/network/os_vif_util.py", line 236, in neutron_to_osvif_vif
Dec 01 08:48:51 aio1 zun-compute[11226]: mgr = _VIF_MANAGERS[vif_translator]
Dec 01 08:48:51 aio1 zun-compute[11226]: KeyError: 'bridge'
Dec 01 08:48:51 aio1 zun-compute[11226]: During handling of the above exception, another exception occurred:
Dec 01 08:48:51 aio1 zun-compute[11226]: Traceback (most recent call last):
Dec 01 08:48:51 aio1 zun-compute[11226]: File "/openstack/venvs/zun-22.0.0.0b2.dev20/lib/python3.6/site-packages/eventlet/hubs/hub.py", line 461, in fire_timers
Dec 01 08:48:51 aio1 zun-compute[11226]: timer()
Dec 01 08:48:51 aio1 zun-compute[11226]: File "/openstack/venvs/zun-22.0.0.0b2.dev20/lib/python3.6/site-packages/eventlet/hubs/timer.py", line 59, in __call__
Dec 01 08:48:51 aio1 zun-compute[11226]: cb(*args, **kw)
Dec 01 08:48:51 aio1 zun-compute[11226]: File "/openstack/venvs/zun-22.0.0.0b2.dev20/lib/python3.6/site-packages/zun/common/utils.py", line 211, in context_wrapper
Dec 01 08:48:51 aio1 zun-compute[11226]: func(*args, **kwargs)
Dec 01 08:48:51 aio1 zun-compute[11226]: File "/openstack/venvs/zun-22.0.0.0b2.dev20/lib/python3.6/site-packages/oslo_concurrency/lockutils.py", line 360, in inner
Dec 01 08:48:51 aio1 zun-compute[11226]: return f(*args, **kwargs)
Dec 01 08:48:51 aio1 zun-compute[11226]: File "/openstack/venvs/zun-22.0.0.0b2.dev20/lib/python3.6/site-packages/zun/compute/manager.py", line 302, in do_container_create
Dec 01 08:48:51 aio1 zun-compute[11226]: pci_requests, limits)
Dec 01 08:48:51 aio1 zun-compute[11226]: File "/openstack/venvs/zun-22.0.0.0b2.dev20/lib/python3.6/site-packages/zun/common/utils.py", line 657, in decorated_function
Dec 01 08:48:51 aio1 zun-compute[11226]: return function(self, context, *args, **kwargs)
Dec 01 08:48:51 aio1 zun-compute[11226]: File "/openstack/venvs/zun-22.0.0.0b2.dev20/lib/python3.6/site-packages/zun/compute/manager.py", line 402, in _do_container_create
Dec 01 08:48:51 aio1 zun-compute[11226]: limits)
Dec 01 08:48:51 aio1 zun-compute[11226]: File "/openstack/venvs/zun-22.0.0.0b2.dev20/lib/python3.6/site-packages/zun/compute/manager.py", line 389, in _do_container_create_base
Dec 01 08:48:51 aio1 zun-compute[11226]: unset_host=True)
Dec 01 08:48:51 aio1 zun-compute[11226]: File "/openstack/venvs/zun-22.0.0.0b2.dev20/lib/python3.6/site-packages/oslo_utils/excutils.py", line 220, in __exit__
Dec 01 08:48:51 aio1 zun-compute[11226]: self.force_reraise()
Dec 01 08:48:51 aio1 zun-compute[11226]: File "/openstack/venvs/zun-22.0.0.0b2.dev20/lib/python3.6/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
Dec 01 08:48:51 aio1 zun-compute[11226]: six.reraise(self.type_, self.value, self.tb)
Dec 01 08:48:51 aio1 zun-compute[11226]: File "/openstack/venvs/zun-22.0.0.0b2.dev20/lib/python3.6/site-packages/six.py", line 703, in reraise
Dec 01 08:48:51 aio1 zun-compute[11226]: raise value
Dec 01 08:48:51 aio1 zun-compute[11226]: File "/openstack/venvs/zun-22.0.0.0b2.dev20/lib/python3.6/site-packages/zun/compute/manager.py", line 376, in _do_container_create_base
Dec 01 08:48:51 aio1 zun-compute[11226]: requested_volumes)
Dec 01 08:48:51 aio1 zun-compute[11226]: File "/openstack/venvs/zun-22.0.0.0b2.dev20/lib/python3.6/site-packages/zun/container/docker/driver.py", line 306, in create
Dec 01 08:48:51 aio1 zun-compute[11226]: security_group_ids=security_group_ids)
Dec 01 08:48:51 aio1 zun-compute[11226]: File "/openstack/venvs/zun-22.0.0.0b2.dev20/lib/python3.6/site-packages/zun/network/cni_network.py", line 106, in process_networking_config
Dec 01 08:48:51 aio1 zun-compute[11226]: subnets)
Dec 01 08:48:51 aio1 zun-compute[11226]: File "/openstack/venvs/zun-22.0.0.0b2.dev20/lib/python3.6/site-packages/zun/network/os_vif_util.py", line 240, in neutron_to_osvif_vif
Dec 01 08:48:51 aio1 zun-compute[11226]: name=vif_translator, invoke_on_load=False)
Dec 01 08:48:51 aio1 zun-compute[11226]: File "/openstack/venvs/zun-22.0.0.0b2.dev20/lib/python3.6/site-packages/stevedore/driver.py", line 61, in __init__
Dec 01 08:48:51 aio1 zun-compute[11226]: warn_on_missing_entrypoint=warn_on_missing_entrypoint
Dec 01 08:48:51 aio1 zun-compute[11226]: File "/openstack/venvs/zun-22.0.0.0b2.dev20/lib/python3.6/site-packages/stevedore/named.py", line 90, in __init__
Dec 01 08:48:51 aio1 zun-compute[11226]: self._init_plugins(extensions)
Dec 01 08:48:51 aio1 zun-compute[11226]: File "/openstack/venvs/zun-22.0.0.0b2.dev20/lib/python3.6/site-packages/stevedore/driver.py", line 113, in _init_plugins
Dec 01 08:48:51 aio1 zun-compute[11226]: (self.namespace, name))
Dec 01 08:48:51 aio1 zun-compute[11226]: stevedore.exception.NoMatches: No 'zun.vif_translators' driver found, looking for 'bridge'

As far as I can see from https://github.com/openstack/zun/blob/master/setup.cfg#L83 there is currently no 'vif_translator' available for the 'bridge' type.

Is there a way around this which I am missing, or has this not been implemented? At present my workaround is to use 'kuryr' for containers and 'docker' for capsules.

Revision history for this message
hongbin (hongbin034) wrote :

CNI linux bridge driver is not implemented yet. Will do it as soon as possible.

Changed in zun:
importance: Undecided → Critical
status: New → Confirmed
assignee: nobody → hongbin (hongbin034)
Revision history for this message
Benoit (flamesterz) wrote :

I wrongly click... this bug should be set to confirmed.

Thank you,

Changed in zun:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.