Reviewed: https://review.opendev.org/725672 Committed: https://git.openstack.org/cgit/openstack/trove/commit/?id=56bb6f39b6c808160d2e4c96fcc2104ba1daf817 Submitter: Zuul Branch: master
commit 56bb6f39b6c808160d2e4c96fcc2104ba1daf817 Author: Corey Bryant <[email protected]> Date: Tue May 5 15:42:31 2020 -0400 Monkey patch original current_thread _active Monkey patch the original current_thread to use the up-to-date _active global variable. This solution is based on that documented at: https://github.com/eventlet/eventlet/issues/592 Change-Id: I61e5e270bf66b0355da3282c19cbc9fd42c4090b Closes-Bug: #1863021 ** Changed in: trove 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/1863021 Title: [SRU] eventlet monkey patch results in assert len(_active) == 1 AssertionError Status in Cinder: Fix Released Status in Designate: Fix Released Status in Glance: Fix Released Status in OpenStack Shared File Systems Service (Manila): Fix Released Status in masakari: In Progress Status in Mistral: Fix Released Status in Murano: Fix Released Status in BaGPipe: Fix Released Status in networking-hyperv: Fix Released Status in networking-l2gw: Fix Released Status in Mellanox backend integration with Neutron (networking-mlnx): In Progress Status in networking-sfc: Fix Released Status in neutron: Fix Released Status in OpenStack Compute (nova): Fix Released Status in oslo.service: Fix Released Status in senlin: Fix Released Status in OpenStack Object Storage (swift): In Progress Status in OpenStack DBaaS (Trove): Fix Released Status in watcher: Fix Released Status in barbican package in Ubuntu: Fix Released Status in cinder package in Ubuntu: Fix Released Status in designate package in Ubuntu: Fix Released Status in glance package in Ubuntu: Fix Released Status in heat package in Ubuntu: Fix Released Status in ironic package in Ubuntu: Fix Released Status in ironic-inspector package in Ubuntu: Fix Released Status in magnum package in Ubuntu: Fix Released Status in manila package in Ubuntu: Fix Released Status in masakari package in Ubuntu: Fix Released Status in mistral package in Ubuntu: Fix Released Status in murano package in Ubuntu: Fix Released Status in murano-agent package in Ubuntu: Fix Released Status in networking-bagpipe package in Ubuntu: Fix Released Status in networking-hyperv package in Ubuntu: Fix Released Status in networking-l2gw package in Ubuntu: Fix Released Status in networking-mlnx package in Ubuntu: Fix Released Status in networking-sfc package in Ubuntu: Fix Released Status in neutron package in Ubuntu: Fix Released Status in neutron-dynamic-routing package in Ubuntu: Fix Released Status in nova package in Ubuntu: Fix Released Status in openstack-trove package in Ubuntu: Fix Released Status in python-os-ken package in Ubuntu: Fix Released Status in python-oslo.service package in Ubuntu: Fix Released Status in sahara package in Ubuntu: Fix Released Status in senlin package in Ubuntu: Fix Released Status in swift package in Ubuntu: Triaged Status in watcher package in Ubuntu: Fix Released Status in barbican source package in Focal: Fix Released Status in cinder source package in Focal: Fix Released Status in designate source package in Focal: Fix Released Status in glance source package in Focal: Fix Released Status in heat source package in Focal: Fix Released Status in ironic source package in Focal: Fix Released Status in ironic-inspector source package in Focal: Fix Released Status in magnum source package in Focal: Fix Released Status in manila source package in Focal: Fix Released Status in masakari source package in Focal: Fix Released Status in mistral source package in Focal: Fix Released Status in murano source package in Focal: Fix Released Status in murano-agent source package in Focal: Fix Released Status in networking-bagpipe source package in Focal: Fix Released Status in networking-hyperv source package in Focal: Fix Released Status in networking-l2gw source package in Focal: Fix Released Status in networking-mlnx source package in Focal: Fix Released Status in networking-sfc source package in Focal: Fix Released Status in neutron source package in Focal: Fix Released Status in neutron-dynamic-routing source package in Focal: Fix Released Status in nova source package in Focal: Fix Released Status in openstack-trove source package in Focal: Fix Released Status in python-os-ken source package in Focal: Fix Released Status in python-oslo.service source package in Focal: Fix Released Status in sahara source package in Focal: Fix Released Status in senlin source package in Focal: Fix Released Status in swift source package in Focal: Triaged Status in watcher source package in Focal: Fix Released Status in barbican source package in Groovy: Fix Released Status in cinder source package in Groovy: Fix Released Status in designate source package in Groovy: Fix Released Status in glance source package in Groovy: Fix Released Status in heat source package in Groovy: Fix Released Status in ironic source package in Groovy: Fix Released Status in ironic-inspector source package in Groovy: Fix Released Status in magnum source package in Groovy: Fix Released Status in manila source package in Groovy: Fix Released Status in masakari source package in Groovy: Fix Released Status in mistral source package in Groovy: Fix Released Status in murano source package in Groovy: Fix Released Status in murano-agent source package in Groovy: Fix Released Status in networking-bagpipe source package in Groovy: Fix Released Status in networking-hyperv source package in Groovy: Fix Released Status in networking-l2gw source package in Groovy: Fix Released Status in networking-mlnx source package in Groovy: Fix Released Status in networking-sfc source package in Groovy: Fix Released Status in neutron source package in Groovy: Fix Released Status in neutron-dynamic-routing source package in Groovy: Fix Released Status in nova source package in Groovy: Fix Released Status in openstack-trove source package in Groovy: Fix Released Status in python-os-ken source package in Groovy: Fix Released Status in python-oslo.service source package in Groovy: Fix Released Status in sahara source package in Groovy: Fix Released Status in senlin source package in Groovy: Fix Released Status in swift source package in Groovy: Triaged Status in watcher source package in Groovy: Fix Released Bug description: [Impact] This appears to be the same issue documented here: https://github.com/eventlet/eventlet/issues/592 However I seem to only hit this with python3.8. Basically nova, glance, neutron, and cinder services fail with: Exception ignored in: <function _after_fork at 0x7f1100d075e0> Traceback (most recent call last): File "/usr/lib/python3.8/threading.py", line 1454, in _after_fork assert len(_active) == 1 AssertionError: Exception ignored in: <function _after_fork at 0x7f1100d075e0> Traceback (most recent call last): File "/usr/lib/python3.8/threading.py", line 1454, in _after_fork assert len(_active) == 1 AssertionError: Patching nova/monkey_patch.py with the following appears to fix this: diff --git a/nova/monkey_patch.py b/nova/monkey_patch.py index a07ff91dac..bb7252c643 100644 --- a/nova/monkey_patch.py +++ b/nova/monkey_patch.py @@ -59,6 +59,9 @@ def _monkey_patch(): else: eventlet.monkey_patch() + import __original_module_threading + import threading + __original_module_threading.current_thread.__globals__['_active'] = threading._active # NOTE(rpodolyaka): import oslo_service first, so that it makes eventlet # hub use a monotonic clock to avoid issues with drifts of system time (see Similar patches to glance/cmd/api.py, glance/cmd/scrubber.py and glance/cmd/registry.py appears to fix it for glance. [Test Case] Tempest regression on a deployed openstack should pass successfully. Individual services can be tested as follows but with the scope of this issue tempest regression testing will be the goal for verifying this SRU. 'systemctl status <service>' should not show the failure reported in [Impact]. [Regression Potential] Should be low. The fix provided is a well-known solution to the problem. Openstack deployment + tempest regression testing will be performed to help reduce regression potential. To manage notifications about this bug go to: https://bugs.launchpad.net/cinder/+bug/1863021/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

