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
42 lines
1.3 KiB
Python
Executable File
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())
|