yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #95292
[Bug 2087941] Re: [eventlet-removal] Remove the usage of eventlet in the OVN metadata agent
Reviewed: https://review.opendev.org/c/openstack/neutron/+/938393
Committed: https://opendev.org/openstack/neutron/commit/1dabdf118d514e95cc54c02aedf1bf653c62c8f0
Submitter: "Zuul (22348)"
Branch: master
commit 1dabdf118d514e95cc54c02aedf1bf653c62c8f0
Author: Rodolfo Alonso Hernandez <ralonsoh@xxxxxxxxxx>
Date: Fri Jan 3 11:19:39 2025 +0000
[eventlet-removal] Use non-eventlet metadata proxy in OVN metadata agent
The new metadata proxy server implementation, used in the OVN agent, is
now used in the OVN metadata agent.
The same limitation applies: it is only possible to create a server inside
a thread, running in the same process (same as with metadata_workers=0).
The configuration variable metadata_workers no longer applies.
Closes-Bug: #2087941
Change-Id: If5d74d6e21a22e4f4dbed27ed9be828adad857e8
** 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/2087941
Title:
[eventlet-removal] Remove the usage of eventlet in the OVN metadata
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 OVN
metadata agent.
============================================================
It doesn’t use RPC for communication with the Neutron API.
It is not spawned using ``oslo_service.launch``. ``oslo.service`` is a
framework library used by Neutron to run the agent processes.
Imports ``ovsdbapp`` to create IDL connections. This library and
``ovs`` (imported by ``ovsdbapp``) work with ``eventlet`` and normal
threads.
The metadata driver (``MetadataDriver``) service is executed inside a ``UnixDomainWSGIServer``, that inherits from ``neutron.api.wsgi.Server``. This is the base class to create a WSGI server based on ``eventlet``.
* When metadata_workers=0, the WSGI server creates a ``WorkerService`` to run the application (proxy handler). The ``WorkerService`` spawns the application inside a greenpool (``eventlet`` dependant).
* When metadata_workers>0, a set of instances is spawned, based on the same ``WorkerService`` class. Each instance is created using ``oslo_service.service.ProcessLauncher``, also based on ``eventlet``.
Patch testing this agent without without patching the system modules (metadata_workers=2 (cpu/2)):
* [eventlet] Remove eventlet from the OVN metadata agent: https://review.opendev.org/c/openstack/neutron/+/922329
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/2087941/+subscriptions
References