← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1927977] Re: OVN IDLs not initialized for all worker types

 

Reviewed:  https://review.opendev.org/c/openstack/neutron/+/795781
Committed: https://opendev.org/openstack/neutron/commit/66ac943b6435901c163c3050ad41dfcaf36ac11d
Submitter: "Zuul (22348)"
Branch:    master

commit 66ac943b6435901c163c3050ad41dfcaf36ac11d
Author: Bodo Petermann <b.petermann@xxxxxxxxxxxx>
Date:   Thu Jun 10 15:10:59 2021 +0200

    Config option to enable OVN IDL on other workers
    
    Add a configuration option to ovn group:
    additional_worker_classes_with_ovn_idl
    to optionally enable OVN IDL connections on additional workers.
    By default the IDL connections are only initialized on API and
    maintenance workers as other worker types normally don't need them.
    But some plugins or extensions might still require IDL connections on
    other workers and now may enable them via configuration, by adding the
    worker class (or its alias from neutron.worker_classes) to
    additional_worker_classes_with_ovn_idl.
    
    Closes-Bug: #1927977
    Change-Id: Ia0d882220cd281e3c91648e3f32a842d61a5f57d


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

Title:
  OVN IDLs not initialized for all worker types

Status in neutron:
  Fix Released

Bug description:
  Since neutron commit "Rely on worker count for HashRing caching"
  (https://opendev.org/openstack/neutron/commit/c4007b0833111a25d24f597161d39ee9ccd37189)
  post_fork_initialize is only executed for API and maintenance workers.
  This means for other worker types the OVN IDLs are not initialized
  anymore.

  I'm working on an implementation of VPNaaS for OVN (https://bugs.launchpad.net/neutron/+bug/1905391) and plan to add an OVN VPN agent whose liveness is checked in a similar way to the OVN metadata agent. A PeriodicWorker regularly checks the agent list to find dead agents. But to have the get_agents method include the OVN agents the PeriodicWorker needs the OVN IDLs and the AgentCache. Both were set up in post_fork_initialize, but now they are not.
  Secondly our proposed implementation of OVN VPN agent will still make use of rabbitmq RPCs to sync the VPN service settings. The controller implements some RPC methods that may also need access to the AgentCache. So also the RpcWorker might need post_fork_initialize to set up the OVN IDLs and AgentCache.

  If I did not overlook something it could be fine to go back to run
  post_fork_initialize for all worker types. The main intention of the
  "Rely on worker count for HashRing caching" commit was to only add the
  API worker to the hash ring and that's still the case because of a
  respective "if" in post_fork_initialize.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1927977/+subscriptions


References