From fe543a67c70e212967bda0e3e45dc9363eaf8fcf Mon Sep 17 00:00:00 2001 From: Corey Bryant Date: Tue, 5 May 2020 15:39:52 -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 Also disable E402 to allow the change in. Change-Id: I508fcd0707ecdd2bf720303f6cbb4087a38aaadd Closes-Bug: #1863021 --- murano/monkey_patch.py | 6 ++++++ tox.ini | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/murano/monkey_patch.py b/murano/monkey_patch.py index 28ec5f60c..094aeee4a 100644 --- a/murano/monkey_patch.py +++ b/murano/monkey_patch.py @@ -23,3 +23,9 @@ if os.name == 'nt': eventlet.monkey_patch(os=False) else: eventlet.monkey_patch() +# 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 +import threading # noqa +orig_threading.current_thread.__globals__['_active'] = threading._active diff --git a/tox.ini b/tox.ini index 70cfe7156..12611e7bc 100644 --- a/tox.ini +++ b/tox.ini @@ -95,7 +95,8 @@ whitelist_externals = rm show-source = true builtins = _ # W605 invalid escape sequence -ignore = W605,W504,W503,E123,H405 +# E402 fires an error on eventlet import. Should probably remove condition alltogether +ignore = W605,W504,W503,E123,H405,E402 exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build [hacking]