This feature has been broken for some time without any actual update
to fix it. Also the pyinotify package used hasn't been updated for 9
years and looks badly unmaintained.
Related-Bug: #1740111
Related-Bug: #2059855
Change-Id: If776fee0072d95737e1c19ad673a3c881a89de06
Add file to the reno documentation build to show release notes for
stable/2024.1.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2024.1.
Sem-Ver: feature
Change-Id: I4f35c60e6b4605bc09eadf51c97ca118221afc21
Add file to the reno documentation build to show release notes for
stable/2023.2.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.2.
Sem-Ver: feature
Change-Id: I8edfee12910034cbff318131654ffe00de8396c9
Add file to the reno documentation build to show release notes for
stable/2023.1.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.1.
Sem-Ver: feature
Change-Id: I8e979b65ca350f53b6eb795f5d2358c628268425
There is a bug in eventlet where logging within a native thread can lead
to a deadlock situation: https://github.com/eventlet/eventlet/issues/432
When encountered with this issue some projects in OpenStack using
oslo.log, eg. Cinder, resolve them by removing any logging withing
native threads.
There is actually a better approach. The Swift team came up with a
solution a long time ago [1], and in this patch that fix is included as
part of the setup method, but will only be run if the eventlet library
has already been loaded.
This patch adds the eventlet library as a testing dependency for the
PipeMutext unit tests.
[1]: 69c715c505
Closes-Bug: #1983863
Change-Id: Iac1b0891ae584ce4b95964e6cdc0ff2483a4e57d
Initialize by default the `global_request_id` if not passed
in the given context to avoid error with logging.
Change-Id: I6bd63c1d6a1331a4e47b923ccf6df50c930c8162
Closes-Bug: #1972974
Global Request IDs were introduced a while ago[1] so that operators can
trace processing of resources across multiple services more easily.
Some services like Nova or Neutron have implemented this feature and
a request made by these services have additional global request id in
its context. However current default format doesn't include that new id
and users need to update the log format parameter in each service to
get this information recorded.
This change updates the default log format so that the Global Request
IDs can be more widely and easily used.
[1] https://specs.openstack.org/openstack/oslo-specs/specs/pike/global-req-id.html
Change-Id: I1adc9b29bb356ce56704c066b375b49374200d3c
As part of Secure RBAC work, support for system users(eg. system admin)
is being added. However current default format does not include
the system scope information so we can't determine whether the context
is non-scoped or system-scoped.
This change updates the default logging_user_identity_format so that
system scope is logged by default.
Change-Id: I7982cdb280599fb38362eb837cb527592267b91f
The logging_user_identity_format option's default value is changed
to reference the project instead of the tenant. This is necessary
because I2fded6f3476df1fb8c4e042ef28ed8ccb7ab0737 removed the tenant
argument from request contexts.
Related-Bug: #1505827
Change-Id: Id6d4b6eaa2b96ba5bd53e8b2dae5d9eea13b25d9
Add file to the reno documentation build to show release notes for
stable/victoria.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/victoria.
Change-Id: I59c55e7511840efe49cf08138b5837e3f1dfeeb3
Sem-Ver: feature
Introduced changes:
- pre-commit config and rules.
- Add pre-commit to pep8 gate, Flake8 is covered in the pre-commit hooks.
- Applying fixes for pre-commit compliance in all code.
Also commit hash will be used instead of version tags in pre-commit to
prevend arbitrary code from running in developer's machines.
pre-commit will be used to:
- trailing whitespace;
- Replaces or checks mixed line ending (mixed-line-ending);
- Forbid files which have a UTF-8 byte-order marker
(check-byte-order-marker);
- Checks that non-binary executables have a proper
shebang (check-executables-have-shebangs);
- Check for files that contain merge conflict strings
(check-merge-conflict);
- Check for debugger imports and py37+ breakpoint()
calls in python source (debug-statements);
- Attempts to load all yaml files to verify syntax (check-yaml);
- Run flake8 checks (flake8) (local)
For further details about tests please refer to:
https://github.com/pre-commit/pre-commit-hooks
Change-Id: I6663d5e0866e03f8eb8c0543d3e3e0bbfb2399ac
Signed-off-by: Moisés Guimarães de Medeiros <moguimar@redhat.com>
Without SYSLOG_FACILITY log messages from journald forwards the message
to kern.log. This seems to be default behaviour as it treats the message
as kernel message.
This option provides a proper facility to the log message and kern.log
will not be filled up anymore.
Change-Id: I62a32ed46a400b62ead8c1e6e64acee658e2a769
Closes-Bug: #1871840
Add file to the reno documentation build to show release notes for
stable/ussuri.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/ussuri.
Change-Id: Ib967d61fba1a9617c90b7bb91eabaa59eb3e86ff
Sem-Ver: feature
Add file to the reno documentation build to show release notes for
stable/train.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/train.
Change-Id: I638b57b529a76135a62ce6606629a474f6b4b4d5
Sem-Ver: feature
Some options are now automatically configured by the version 1.20:
- project
- html_last_updated_fmt
- latex_engine
- latex_elements
- version
- release.
Change-Id: I61f26bed7831cdcce1f33f3981c3e97b018c4c42
Add file to the reno documentation build to show release notes for
stable/stein.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/stein.
Change-Id: Ifa64f45d74c133e0f588e8356130842dd561a480
Sem-Ver: feature
Just a couple of doc things that became out of date due to some
code changes during the review process.
Change-Id: I5820f7940d8d32546174da132db5be5a209a2200
On Windows, in-use files cannot be moved or deleted. For this reason,
we need the service itself to take care of rotating logs.
For convenience reasons, we're exposing the built-in rotating log
handlers through a set of config options.
More specifically, we're adding the following new config options:
- log_rotate_interval
- log_rotate_interval_type
- max_logfile_count
- max_logfile_size_mb
Change-Id: I01db4efc08e2cb64db9cbf793f3a159f54859fe7
Closes-Bug: #1802262
The Python built-in logging module already provides a Windows Event
Log handler. This change ensures that oslo.log exposes it.
Change-Id: I287260b5046c88c433dfa66064da14faf15610e0
Implements: blueprint windows-event-log
Release notes are version independent, so remove version/release
values. We've found that projects now require the service package
to be installed in order to build release notes, and this is entirely
due to the current convention of pulling in the version information.
Release notes should not need installation in order to build, so this
unnecessary version setting needs to be removed.
This is needed for new release notes publishing, see
I56909152975f731a9d2c21b2825b972195e48ee8 and the discussion starting
at
http://lists.openstack.org/pipermail/openstack-dev/2017-November/124480.html
.
Change-Id: I55fe922abbc2112cda9e1f9d7f2bf542e63d61c9
The JSON formatter used to rely on services making their logging calls
and passing the context there. A call it expted would be
LOG.debug("Some message", context=context)
This would end up in the "extra" section of the logging record. This is
not usually the case, as projects don't always pass the context on that
call. This also applies to the Fluent formatter which is based on the
JSON one.
For the JSON formatter, we already are getting the context from the
record. So lets use that if no context was provided in the record's
'extra' section. Finally, this places the context in its own section,
which is named 'context'.
Closes-Bug: #1730329
Depends-On: I2b245c1665c3587be3c476b803122788d186e5d5
Change-Id: I765dae17d2ecadce1672f16e432e748d5233acf8
A recent change [1] added the use_json option to the logging
configuration. It was missing a release note, and this commit adds it.
[1] I1b7b7b9e66215e8e1c59a2c0a37cb0abaebf228a
Change-Id: I57c96c951522a2c6abf1357a18b41644b567b0b2
The JSONFormatter formatter now converts unserializable objects with
repr() to prevent JSON serialization errors on logging.
The fix requires oslo.serialization 2.21.1 or newer to get the new
fallback parameter of jsonutils.to_primitive().
Closes-Bug: #1593641
Change-Id: Ibda7d145af95903b2bf8d87113804350330a93b4