yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #94854
[Bug 2087939] [NEW] [eventlet-deprecation] Remove the usage of eventlet in the OVS agent
Public bug reported:
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
** Affects: neutron
Importance: Undecided
Status: New
--
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-deprecation] Remove the usage of eventlet in the OVS agent
Status in neutron:
New
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