Public bug reported: nova-compute imports oslo.context before calling monkey_patch():
(Pdb) bt /usr/local/bin/nova-compute(6)<module>() -> from nova.cmd.compute import main /opt/stack/nova/nova/__init__.py(33)<module>() -> import oslo_service # noqa /usr/local/lib/python2.7/dist-packages/oslo_service/__init__.py(17)<module>() -> from oslo_log import log as logging /usr/local/lib/python2.7/dist-packages/oslo_log/log.py(48)<module>() -> from oslo_log import formatters /usr/local/lib/python2.7/dist-packages/oslo_log/formatters.py(28)<module>() -> from oslo_context import context as context_utils > /usr/local/lib/python2.7/dist-packages/oslo_context/context.py(40)<module>() -> _request_store = threading.local() which makes the global thread-local variable (_request_store) not green. So instead of having request context per green thread, we have one context for all green threads which is overwritten every time a new context is created. This is regression from this patch: https://review.openstack.org/#/c/434327/ which imports oslo.service before eventlet ** Affects: nova Importance: Medium Status: Triaged ** Affects: nova/ocata Importance: Undecided Status: New ** Affects: nova/pike Importance: Undecided Status: New ** Affects: nova/queens Importance: Undecided Status: New ** Changed in: nova Importance: Undecided => Medium -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Compute (nova). https://bugs.launchpad.net/bugs/1784666 Title: The thread local which stores the request context is not green Status in OpenStack Compute (nova): Triaged Status in OpenStack Compute (nova) ocata series: New Status in OpenStack Compute (nova) pike series: New Status in OpenStack Compute (nova) queens series: New Bug description: nova-compute imports oslo.context before calling monkey_patch(): (Pdb) bt /usr/local/bin/nova-compute(6)<module>() -> from nova.cmd.compute import main /opt/stack/nova/nova/__init__.py(33)<module>() -> import oslo_service # noqa /usr/local/lib/python2.7/dist-packages/oslo_service/__init__.py(17)<module>() -> from oslo_log import log as logging /usr/local/lib/python2.7/dist-packages/oslo_log/log.py(48)<module>() -> from oslo_log import formatters /usr/local/lib/python2.7/dist-packages/oslo_log/formatters.py(28)<module>() -> from oslo_context import context as context_utils > /usr/local/lib/python2.7/dist-packages/oslo_context/context.py(40)<module>() -> _request_store = threading.local() which makes the global thread-local variable (_request_store) not green. So instead of having request context per green thread, we have one context for all green threads which is overwritten every time a new context is created. This is regression from this patch: https://review.openstack.org/#/c/434327/ which imports oslo.service before eventlet To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1784666/+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

