2a09a4b802
When Neutron is killed with SIGTERM (like via systemctl), when using
ML2/OVN neutron workers do not exit and instead are eventually killed
with SIGKILL when the graceful timeout is reached (often around 1
minute).
This is happening due to the signal handlers for SIGTERM. There are
multiple issues.
1) oslo_service, ml2/ovn mech_driver, and ml2/ovo_rpc.py all call
signal.signal(signal.SIGTERM, ...) overwriting each others signal
handlers.
2) SIGTERM is handled in the main thread, and running blocking code
there causes AssertionErrors in eventlet which also prevents the
process from exiting.
3) The ml2/ovn cleanup code doesn't cause the process to end, so it
interrupts the killing of the process.
oslo_service has a singleton SignalHandler class that solves all of
these issues
Closes-Bug: #2056366
Depends-On: https://review.opendev.org/c/openstack/oslo.service/+/913512
Change-Id: I730a12746bceaa744c658854e38439420efc4629
Signed-off-by: Terry Wilson <twilson@redhat.com>
(cherry picked from commit a4e49b6b8f
)
61 lines
1.9 KiB
Plaintext
61 lines
1.9 KiB
Plaintext
# Requirements lower bounds listed here are our best effort to keep them up to
|
|
# date but we do not test them so no guarantee of having them all correct. If
|
|
# you find any incorrect lower bounds, let us know or propose a fix.
|
|
pbr>=4.0.0 # Apache-2.0
|
|
|
|
Paste>=2.0.2 # MIT
|
|
PasteDeploy>=1.5.0 # MIT
|
|
Routes>=2.3.1 # MIT
|
|
debtcollector>=1.19.0 # Apache-2.0
|
|
decorator>=4.1.0 # BSD
|
|
eventlet>=0.26.1 # MIT
|
|
pecan>=1.4.0 # BSD
|
|
httplib2>=0.9.1 # MIT
|
|
requests>=2.18.0 # Apache-2.0
|
|
Jinja2>=2.10 # BSD License (3 clause)
|
|
keystonemiddleware>=5.1.0 # Apache-2.0
|
|
netaddr>=0.7.18 # BSD
|
|
netifaces>=0.10.4 # MIT
|
|
neutron-lib>=3.9.0 # Apache-2.0
|
|
python-neutronclient>=7.8.0 # Apache-2.0
|
|
tenacity>=6.0.0 # Apache-2.0
|
|
SQLAlchemy>=1.4.23 # MIT
|
|
WebOb>=1.8.2 # MIT
|
|
keystoneauth1>=3.14.0 # Apache-2.0
|
|
alembic>=1.6.5 # MIT
|
|
stevedore>=2.0.1 # Apache-2.0
|
|
oslo.cache>=1.26.0 # Apache-2.0
|
|
oslo.concurrency>=3.26.0 # Apache-2.0
|
|
oslo.config>=9.0.0 # Apache-2.0
|
|
oslo.context>=2.22.0 # Apache-2.0
|
|
oslo.db>=4.44.0 # Apache-2.0
|
|
oslo.i18n>=3.20.0 # Apache-2.0
|
|
oslo.log>=5.3.0 # Apache-2.0
|
|
oslo.messaging>=7.0.0 # Apache-2.0
|
|
oslo.middleware>=3.31.0 # Apache-2.0
|
|
oslo.policy>=3.12.0 # Apache-2.0
|
|
oslo.privsep>=2.3.0 # Apache-2.0
|
|
oslo.reports>=1.18.0 # Apache-2.0
|
|
oslo.rootwrap>=5.15.0 # Apache-2.0
|
|
oslo.serialization>=2.25.0 # Apache-2.0
|
|
oslo.service>=3.4.1 # Apache-2.0
|
|
oslo.upgradecheck>=1.3.0 # Apache-2.0
|
|
oslo.utils>=7.0.0 # Apache-2.0
|
|
oslo.versionedobjects>=1.35.1 # Apache-2.0
|
|
osprofiler>=2.3.0 # Apache-2.0
|
|
os-ken>=2.2.0 # Apache-2.0
|
|
os-resource-classes>=1.1.0 # Apache-2.0
|
|
ovs>=2.10.0 # Apache-2.0
|
|
ovsdbapp>=2.3.0 # Apache-2.0
|
|
psutil>=5.3.0 # BSD
|
|
pyroute2>=0.7.3;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
|
|
pyOpenSSL>=17.1.0 # Apache-2.0
|
|
|
|
python-novaclient>=9.1.0 # Apache-2.0
|
|
openstacksdk>=0.31.2 # Apache-2.0
|
|
python-designateclient>=2.7.0 # Apache-2.0
|
|
os-vif>=3.1.0 # Apache-2.0
|
|
futurist>=1.2.0 # Apache-2.0
|
|
tooz>=1.58.0 # Apache-2.0
|
|
wmi>=1.4.9;sys_platform=='win32' # MIT
|