From 627d4dfd1ae6ee35a190f92c1d812aaa1146b7d9 Mon Sep 17 00:00:00 2001 From: Corey Bryant Date: Mon, 4 May 2020 13:44:44 -0400 Subject: [PATCH] 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: I97c2a756076299a01170beb5bec3fa0e49593146 Story: 2007614 --- ironic/cmd/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ironic/cmd/__init__.py b/ironic/cmd/__init__.py index 8acedfa92d..bd47b11ac7 100644 --- a/ironic/cmd/__init__.py +++ b/ironic/cmd/__init__.py @@ -24,6 +24,12 @@ os.environ['EVENTLET_NO_GREENDNS'] = 'yes' # noqa E402 import eventlet eventlet.monkey_patch(os=False) +# Monkey patch the original current_thread to use the up-to-date _active +# global variable. See https://bugs.launchpad.net/bugs/1863021 and +# https://github.com/eventlet/eventlet/issues/592 +import __original_module_threading as orig_threading # noqa +import threading # noqa +orig_threading.current_thread.__globals__['_active'] = threading._active from ironic.common import i18n # noqa for I202 due to 'import eventlet' above