← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1950679] Re: [ovn] neutron_ovn_db_sync_util hangs on sync_routers_and_rports

 

This bug was fixed in the package neutron - 2:18.4.0-0ubuntu1~cloud3
---------------

 neutron (2:18.4.0-0ubuntu1~cloud3) focal-wallaby; urgency=medium
 .
   * d/p/ovn-fix-deadlock-in-neutron-ovn-db-sync-util.patch: Picked from
     upstream to fix a deadlock in neutron-ovn-db-sync-util (LP: #1950679).


** Changed in: cloud-archive/wallaby
       Status: Fix Committed => 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/1950679

Title:
  [ovn] neutron_ovn_db_sync_util hangs on sync_routers_and_rports

Status in Ubuntu Cloud Archive:
  Invalid
Status in Ubuntu Cloud Archive wallaby series:
  Fix Released
Status in neutron:
  Fix Released

Bug description:
  neutron-ovn-db-sync-util hangs in certain scenarios while running
  sync_routers_and_rports.

  Specifically, it seems to be hanging on self.l3_plugin.get_routers(ctx)
  -> model_query.get_collection(...) of get_routers(...) in neutron.db.l3_db.py
  -> get_collection(...) in neutron_lib.db.model_query.py runs dict_funcs which somehow reaches to nb_ovn property accessor in neutron.plugins.ml2.drivers.ovn.mech_driver.mech_driver.py
  -> which runs self._post_fork_event.wait() 

  That mutex seems to never be "set" and blocks further execution
  because it might not be applicable to this flow.

  It looks like the neutron-ovn-db-sync-util might need to always "set"
  it since it mocks other parts of the NB/DB client in a similar fashion
  to some unit tests.

  I'm not yet sure what kind of exact circumstances lead to that access
  and that wait(), syncing via the util to an empty OVN NB/DB seems to
  work. I see the issue more frequently on subsequent runs.

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/1950679/+subscriptions



References