Skip to content

Commit

Permalink
Make the eventlet logging fix execution conditional
Browse files Browse the repository at this point in the history
This patch changes the ``log.setup()`` signature to allow a kwarg
that makes the eventlet logging fix conditional.

Some libraries that import oslo.log, replace the logging locking
handling with its own implementation. For example oslo.privsep
replaces the logging handler with its own one [1], that allows the
communication between the privileged daemon process and the service
importing the library. This local handler clashes with the
evenlet logging fix implemented in [2].

[1]https://github.com/openstack/oslo.privsep/blob/1020c6fbf54f93cad9fa36b97bcd9cf75549984a/oslo_privsep/daemon.py#L579
[2]https://review.opendev.org/c/openstack/oslo.log/+/852443

Partial-Bug: #1995514
Related-Bug: #1995091
Change-Id: I4bbcfe7db6d75188e61b9084cb02b2dd2aaa0c76
  • Loading branch information
ralonsoh committed Nov 14, 2022
1 parent 94b9dc3 commit de615d9
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions oslo_log/log.py
Expand Up @@ -281,9 +281,10 @@ def _fix_eventlet_logging():
logging.Handler.createLock = pipe_mutex.pipe_createLock


def setup(conf, product_name, version='unknown'):
def setup(conf, product_name, version='unknown', *, fix_eventlet=True):
"""Setup logging for the current application."""
_fix_eventlet_logging()
if fix_eventlet:
_fix_eventlet_logging()
if conf.log_config_append:
_load_log_config(conf.log_config_append)
else:
Expand Down

0 comments on commit de615d9

Please sign in to comment.