Files
neutron/neutron/tests/fullstack/agents/l3_agent.py
Rodolfo Alonso Hernandez 5292b13bbd [eventlet-removal] Remove the usage of eventlet in the L3 agent
This patch removes the usage of eventlet in the L3 agent. It removes
the last bits using this library and changes the implementation of the
WSGI server.

This patch replaces the WSGI ``neutron-keepalived-state-change``
server with an implementation based on
``socketserver.ThreadingUnixStreamServer``. The
``KeepalivedStateChangeHandler`` class is now inheriting from
``socketserver.StreamRequestHandler``. This change is
similar to the changes done for the Metadata agents before [1][2]

This patch bumps the ``oslo.service`` library to 4.2.0, that includes
[3]. Note that the requirements line is also requesting the dependencies
for "threading", that install aditional libraries.

[1]https://review.opendev.org/c/openstack/neutron/+/938393
[2]https://review.opendev.org/c/openstack/neutron/+/942916
[3]https://review.opendev.org/c/openstack/oslo.service/+/945720

Closes-Bug: #2087943
Change-Id: I82f7b4e4c4f165bab114a0ab5ee4948d3ee8ce63
2025-06-06 11:16:34 +00:00

42 lines
1.3 KiB
Python
Executable File

#!/usr/bin/env python3
# Copyright 2017 Eayun, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import sys
from oslo_config import cfg # noqa
from neutron.agent.l3 import ha
from neutron.common import config
from neutron.common import eventlet_utils
from neutron.tests.common.agents import l3_agent
eventlet_utils.monkey_patch()
# NOTE(ralonsoh): remove when eventlet is removed.
def patch_keepalived_notifications_server():
def start_keepalived_notifications_server():
pass
ha.AgentMixin._start_keepalived_notifications_server = (
start_keepalived_notifications_server)
if __name__ == "__main__":
config.register_common_config_options()
patch_keepalived_notifications_server()
sys.exit(l3_agent.main())