← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2087939] Re: [eventlet-removal] Remove the usage of eventlet in the OVS agent

 

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

commit ad927935ab5868486824c02c478664194e474631
Author: Sahid Orentino Ferdjaoui <sahid.ferdjaoui@xxxxxxxxxxxxxxxxxxxxxxxx>
Date:   Fri Feb 7 16:56:47 2025 +0100

    [eventlet-removal] ovs: remove the usage of eventlet in the OVS agent
    
    This commits remove any usage of greenthreads for OVS Agent.
    
    NOTES:
    * The "OSKEN_HUB_TYPE" is set to "native". Once the eventlet removal is
      finished and the default backend is "native", this line will be
      removed.
    * The ``oslo.service`` backend is set to "threading".
    
    Closes-bug: #2087939
    Change-Id: I04ac8336db70cf93da43ed17da11c594b441f5eb
    Signed-off-by: Sahid Orentino Ferdjaoui <sahid.ferdjaoui@xxxxxxxxxxxxxxxxxxxxxxxx>


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

Title:
  [eventlet-removal] Remove the usage of eventlet in the OVS agent

Status in neutron:
  Fix Released

Bug description:
  References:
  * https://etherpad.opendev.org/p/oct2024-ptg-neutron
  * https://etherpad.opendev.org/p/neutron-eventlet-deprecation

  Remove the import and usage of the eventlet library in the OVS agent.

  ============================================================

  It is spawned using the ``os-ken`` AppManager application loader, that
  is based in ``eventlet``.

  The OVS agent interacts with th OVS OF rules using ``os-ken``. When
  this library is used, it is needed to adapt the main process to run
  with it. ``os-ken`` uses a hub of threads; one of them is the main
  application (the OVS agent), other thread is the OF status and the
  other thread attending the OF commands form the main application. This
  library has been only tested with ``eventlet``. The hub is adapted to
  accept monkey patched applications (https://github.com/openstack/os-
  ken/blob/27601346896b215d270dec647902d028dc97808e/os_ken/lib/hub.py#L29).
  It is supposed to work with normal threads but, as commented, that has
  never been tested in the Neutron CI.

  The native OF library (that uses ``os-ken``), uses
  ``eventlet.Timeout``:
  https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/ofswitch.py#L93.

  The OVS firewall add a sleep call to yield to other greenthreads:
  https://github.com/openstack/neutron/blob/04e9efec78fe308b50f6f1eab8b24f29f3164684/neutron/agent/linux/openvswitch_firewall/firewall.py#L885

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



References