Reviewed: https://review.opendev.org/c/openstack/neutron/+/937545 Committed: https://opendev.org/openstack/neutron/commit/b2a6b6cf3689b0d81c144a5408d96dd3fc3b1627 Submitter: "Zuul (22348)" Branch: master
commit b2a6b6cf3689b0d81c144a5408d96dd3fc3b1627 Author: Rodolfo Alonso Hernandez <ralon...@redhat.com> Date: Thu Jan 2 14:57:22 2025 +0000 [eventlet-deprecation] Implement a metadata proxy without eventlet A new embedded socket server for the metadata proxy is implemented. This new implementation mimics the implementation of the ``UnixDomainWSGIServer`` class. The server listens to a file socket that is populated by the HAProxy instance running inside the network metadata namespace. The HAProxy writes the requests of the virtual machines on the Unix file socket and the metadata proxy sends the requests to the Nova metadata server. This new implementation does not relies on ``neutron.api.wsgi.Server`` nor ``eventlet.wsgi.server``. It inherits from the built-in library class ``socketserver.StreamRequestHandler``. This implementation doesn't use ``oslo.services`` to spawn the processes or the local threads depending on the ``metadata_workers`` configuration variable. Right now only the embedded form (local thread) is implemented (metadata_workers=0, the default value). Future implementations will enable again this configuration variable. This patch also removes the use of ``oslo_service.launch`` to execute the agent main thread. This should be restored once this library removes the use of ``eventlet``. Closes-Bug: #2087942 Change-Id: I007fb7452d709f4b711d8efb9dea5f374de668b4 ** 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/2087942 Title: [eventlet-deprecation] Remove the usage of eventlet in the OVN 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 agent. ============================================================ The only difference with the OVN metadata agent is that is spawned using ``oslo_service.launch`` (see https://bugs.launchpad.net/neutron/+bug/2087941). ``oslo.service`` is a framework library used by Neutron to run the agent processes. This framework is based in ``eventlet`` to, for example, handle the process signals or create a pipe to watch the child processes. The ``oslo_service`` library should be upgraded to remove the ``eventlet`` dependency: * oslo.service: Propose a plan to Remove Eventlet: https://review.opendev.org/c/openstack/oslo-specs/+/927503 An alternative could be to start the agent in the same way the OVN metadata agent is started, without using ``oslo_service.launch``. To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/2087942/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp