← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1929633] Re: Mechanism driver 'ovn' failed in create_port_precommit: AttributeError: 'NoneType' object has no attribute 'chassis_exists'

 

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 <lucasagomes@xxxxxxxxx>
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 <lucasagomes@xxxxxxxxx>


** 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



References