Logging library.
Go to file
damani42 8705f67bfb Remove the usage of the Eventlet debug feature from oslo.log.
We initially started to work on this topic with the intention to solve
the problem of using the Eventlet hub_prevent_multiple_readers debug feature.
This feature is a debug convenience. This feature is not supported by the new
asyncio hub[1] of Eventlet. You can also check the documentation here[2] from eventlet. The problem with disabling this procedure is that
it exposes you to risk. Deactivation applies to the entire stack. If a project
uses oslo.log, for example nova, then it exposes all threads to concurrent access
on the process file descriptors.
As explained in the function's documentation[3], when several greenlets are reading from
the same socket, it's difficult to predict which greenlet will receive which data.
You really need to be sure of what you're doing to use this function. Also explained
in the raise condition added by this commit[4] and we have a reproducer[5] that exposes
the problem. According to our tests, removing this line does not change the fix provided.
It also seems that cinder no longer uses[6] logging native thread.

Related-Bug: #1983863

[1] https://review.opendev.org/c/openstack/governance/+/902585/17..18
[2] https://eventlet.readthedocs.io/en/latest/asyncio/migration.html#known-limitations-and-work-in-progress
[3] https://github.com/eventlet/eventlet/blob/master/eventlet/debug.py#L149
[4] cb7c8c0196
[5] https://github.com/4383/oslo.log/blob/reproducer2/reproducer.py
[6] https://bugs.launchpad.net/oslo.log/+bug/1983863/comments/18

Co-authored-by: Hervé Beraud <hberaud@redhat.com>
Change-Id: Ia4c8e82f957c4ef3c176246fea0bc0adab4f4dc4
2024-05-16 11:55:38 +02:00
doc Remove old excludes 2024-05-01 14:26:39 +09:00
oslo_log Remove the usage of the Eventlet debug feature from oslo.log. 2024-05-16 11:55:38 +02:00
releasenotes Remove the usage of the Eventlet debug feature from oslo.log. 2024-05-16 11:55:38 +02:00
.coveragerc Fix coverage configuration and execution 2015-10-05 17:22:34 -04:00
.gitignore Ignore releasenote artifacts files. 2020-01-31 10:55:10 +01:00
.gitreview OpenDev Migration Patch 2019-04-19 19:48:02 +00:00
.mailmap exported from oslo-incubator by graduate.sh 2014-08-25 14:42:22 -04:00
.pre-commit-config.yaml pre-commit: Integrate bandit 2024-02-06 15:18:54 +09:00
.stestr.conf Migrate to stestr 2018-08-10 15:57:52 -04:00
.zuul.yaml Update CI to use unversioned jobs template 2022-03-15 15:07:19 +00:00
CONTRIBUTING.rst Align contributing doc with oslo's policy 2020-05-04 18:24:59 +02:00
HACKING.rst Update URLs according to document migration 2017-07-11 22:46:53 +08:00
LICENSE exported from oslo-incubator by graduate.sh 2014-08-25 14:42:22 -04:00
README.rst Replace git.openstack.org URLs with opendev.org URLs 2019-04-30 13:38:11 +08:00
requirements.txt Remove unused pyinotify 2024-05-01 14:27:02 +09:00
setup.cfg Update python classifier in setup.cfg 2024-01-11 16:18:47 -08:00
setup.py Cleanup py27 support 2022-12-31 11:12:48 +08:00
test-requirements.txt Remove old excludes 2024-05-01 14:26:39 +09:00
tox.ini pre-commit: Integrate bandit 2024-02-06 15:18:54 +09:00

README.rst

Team and repository tags

image

oslo.log -- Oslo Logging Library

Latest Version

Downloads

The oslo.log (logging) configuration library provides standardized configuration for all openstack projects. It also provides custom formatters, handlers and support for context specific logging (like resource id's etc).