Reviewed: https://review.opendev.org/c/openstack/neutron/+/800679 Committed: https://opendev.org/openstack/neutron/commit/e5f19a29dcfb70ea08fa39267bc4aecd44bec2eb Submitter: "Zuul (22348)" Branch: master
commit e5f19a29dcfb70ea08fa39267bc4aecd44bec2eb Author: Lucas Alvares Gomes <lucasago...@gmail.com> Date: Wed Jul 14 16:46:47 2021 +0100 [OVN] Fix ML2/OVN + Neutron DHCP agent use case In an attempt to minimize the number of connections to the OVSDBs the ML2/OVN driver stopped connecting to the OVN dbs if the Neutron worker was a RpcWorker but, that introduced a regression for those using ML2/OVN + Neutron DHCP agent (for baremetal provisioning). Because the RpcWorker didn't have a connection to the OVN database the Neutron DHCP agent wasn't able to create the DHCP port and failed with: 2021-07-13 13:36:18.116 17 ERROR neutron.plugins.ml2.managers if not self._sb_ovn.chassis_exists(host): 2021-07-13 13:36:18.116 17 ERROR neutron.plugins.ml2.managers AttributeError: 'NoneType' object has no attribute 'chassis_exists' This patch adds the RpcWorker back to the list of workers that should connect to the OVN databases. Change-Id: I454f3b52376a02f6cc9ca9124083295631bd03d5 Closes-Bug: #1929633 Signed-off-by: Lucas Alvares Gomes <lucasago...@gmail.com> ** Changed in: neutron Status: In Progress => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1929633 Title: Mechanism driver 'ovn' failed in create_port_precommit: AttributeError: 'NoneType' object has no attribute 'chassis_exists' Status in neutron: Fix Released Bug description: Error occurs in devstack@q-svc. Seems this error arises after devstack 'Change default network backend driver to ML2/OVN', https://review.opendev.org/c/openstack/devstack/+/791436 ======================================== May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server [None req-80ce99c0-4be0-44c1-a62d-bea8619c6471 None None] Exception during message handling: neutron.plugins.ml2.common.exceptions.MechanismDriverError May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server Traceback (most recent call last): May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/oslo_messaging/rpc/server.py", line 165, in _process_incoming May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server res = self.dispatcher.dispatch(message) May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/oslo_messaging/rpc/dispatcher.py", line 309, in dispatch May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server return self._do_dispatch(endpoint, method, ctxt, args) May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/oslo_messaging/rpc/dispatcher.py", line 229, in _do_dispatch May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server result = func(ctxt, **new_args) May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/oslo_messaging/rpc/server.py", line 241, in inner May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server return func(*args, **kwargs) May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/neutron_lib/db/api.py", line 139, in wrapped May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server setattr(e, '_RETRY_EXCEEDED', True) May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/oslo_utils/excutils.py", line 227, in __exit__ May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server self.force_reraise() May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/oslo_utils/excutils.py", line 200, in force_reraise May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server raise self.value May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/neutron_lib/db/api.py", line 135, in wrapped May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server return f(*args, **kwargs) May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/oslo_db/api.py", line 154,in wrapper May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server ectxt.value = e.inner_exc May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/oslo_utils/excutils.py", line 227, in __exit__ May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server self.force_reraise() May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/oslo_utils/excutils.py", line 200, in force_reraise May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server raise self.value May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/oslo_db/api.py", line 142,in wrapper May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server return f(*args, **kwargs) May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/neutron_lib/db/api.py", line 183, in wrapped May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server LOG.debug("Retry wrapper got retriable exception: %s", e) May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/oslo_utils/excutils.py", line 227, in __exit__ May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server self.force_reraise() May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/oslo_utils/excutils.py", line 200, in force_reraise May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server raise self.value May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/neutron_lib/db/api.py", line 179, in wrapped May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server return f(*dup_args, **dup_kwargs) May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/opt/stack/new/neutron/neutron/quota/resource_registry.py", line 9 5, in wrapper May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server ret_val = f(_self, context, *args, **kwargs) May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/opt/stack/new/neutron/neutron/api/rpc/handlers/dhcp_rpc.py", line 295, in create_dhcp_port May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server return self._port_action(plugin, context, port, 'create_port') May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/opt/stack/new/neutron/neutron/api/rpc/handlers/dhcp_rpc.py", line 115, in _port_action May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server return p_utils.create_port(plugin, context, port) May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/neutron_lib/plugins/utils.py", line 337, in create_port May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server return core_plugin.create_port( May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/opt/stack/new/neutron/neutron/common/utils.py", line 685, in inner May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server return f(self, context, *args, **kwargs) May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/neutron_lib/db/api.py", line 217, in wrapped May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server return method(*args, **kwargs) May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/neutron_lib/db/api.py", line 139, in wrapped May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server setattr(e, '_RETRY_EXCEEDED', True) May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/oslo_utils/excutils.py", line 227, in __exit__ May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server self.force_reraise() May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/oslo_utils/excutils.py", line 200, in force_reraise May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server raise self.value May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/neutron_lib/db/api.py", line 135, in wrapped May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server return f(*args, **kwargs) May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/oslo_db/api.py", line 154, in wrapper May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server ectxt.value = e.inner_exc May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/oslo_utils/excutils.py", line 227, in __exit__ May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server self.force_reraise() May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/oslo_utils/excutils.py", line 200, in force_reraise May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server raise self.value May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/oslo_db/api.py", line 142,in wrapper May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server return f(*args, **kwargs) May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/neutron_lib/db/api.py", line 183, in wrapped May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server LOG.debug("Retry wrapper got retriable exception: %s", e) May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/oslo_utils/excutils.py", line 227, in __exit__ May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server self.force_reraise() May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/oslo_utils/excutils.py", line 200, in force_reraise May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server raise self.value May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/usr/local/lib/python3.8/dist-packages/neutron_lib/db/api.py", line 179, in wrapped May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server return f(*dup_args, **dup_kwargs) May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/opt/stack/new/neutron/neutron/plugins/ml2/plugin.py", line 1457,in create_port May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server result, mech_context = self._create_port_db(context, port) May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/opt/stack/new/neutron/neutron/plugins/ml2/plugin.py", line 1447,in _create_port_db May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server self.mechanism_manager.create_port_precommit(mech_context) May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/opt/stack/new/neutron/neutron/plugins/ml2/managers.py", line 700, in create_port_precommit May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server self._call_on_drivers("create_port_precommit", context, May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server File "/opt/stack/new/neutron/neutron/plugins/ml2/managers.py", line 493, in _call_on_drivers May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server raise ml2_exc.MechanismDriverError(May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server neutron.plugins.ml2.common.exceptions.MechanismDriverError May 25 22:44:50 e2e-os-pflex101 neutron-server[2801827]: ERROR oslo_messaging.rpc.server ======================================== To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1929633/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp