commit python-oslo.log for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-oslo.log for openSUSE:Factory checked in at 2024-06-05 17:41:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-oslo.log (Old) and /work/SRC/openSUSE:Factory/.python-oslo.log.new.24587 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "python-oslo.log" Wed Jun 5 17:41:55 2024 rev:27 rq:1178602 version:6.0.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-oslo.log/python-oslo.log.changes 2024-05-03 19:45:51.555707785 +0200 +++ /work/SRC/openSUSE:Factory/.python-oslo.log.new.24587/python-oslo.log.changes 2024-06-05 17:42:31.266369662 +0200 @@ -1,0 +2,17 @@ +Tue Jun 4 20:02:08 UTC 2024 - cloud-devel@suse.de + +- update to version 6.0.0 + - reno: Update master for unmaintained/victoria + - Apply eventlet workaround only once + - Imported Translations from Zanata + - Validate rate_limit_except_level by choices + - Remove unused pyinotify + - Fix broken reference to rate_limit_except_level + - Remove old excludes + - Fix eventlet detection + - Deprecate watch_log_file + - Update master for stable/2024.1 + - Remove fallback for old oslo.context + - Remove implementation for watch_log_file + +------------------------------------------------------------------- Old: ---- oslo.log-5.5.1.tar.gz New: ---- oslo.log-6.0.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-oslo.log.spec ++++++ --- /var/tmp/diff_new_pack.dUpkxp/_old 2024-06-05 17:42:32.086399526 +0200 +++ /var/tmp/diff_new_pack.dUpkxp/_new 2024-06-05 17:42:32.086399526 +0200 @@ -17,13 +17,13 @@ Name: python-oslo.log -Version: 5.5.1 +Version: 6.0.0 Release: 0 Summary: OpenStack log library License: Apache-2.0 Group: Development/Languages/Python URL: https://docs.openstack.org/oslo.log -Source0: https://files.pythonhosted.org/packages/source/o/oslo.log/oslo.log-5.5.1.tar... +Source0: https://files.pythonhosted.org/packages/source/o/oslo.log/oslo.log-6.0.0.tar... BuildRequires: fdupes BuildRequires: openstack-macros BuildRequires: python3-eventlet @@ -35,7 +35,6 @@ BuildRequires: python3-oslo.utils >= 3.36.0 BuildRequires: python3-oslotest BuildRequires: python3-pbr >= 3.1.1 -BuildRequires: python3-pyinotify BuildRequires: python3-python-dateutil >= 2.7.0 BuildRequires: python3-stestr BuildRequires: python3-testtools @@ -55,7 +54,6 @@ Requires: python3-oslo.i18n >= 3.20.0 Requires: python3-oslo.serialization >= 2.25.0 Requires: python3-oslo.utils >= 3.36.0 -Requires: python3-pyinotify Requires: python3-python-dateutil >= 2.7.0 Requires: python3-systemd %if 0%{?suse_version} @@ -78,14 +76,14 @@ Documentation for the oslo.log library. %prep -%autosetup -p1 -n oslo.log-5.5.1 +%autosetup -p1 -n oslo.log-6.0.0 %py_req_cleanup %build %{py3_build} # generate html docs -PYTHONPATH=. PBR_VERSION=5.5.1 %sphinx_build -b html doc/source doc/build/html +PYTHONPATH=. PBR_VERSION=6.0.0 %sphinx_build -b html doc/source doc/build/html rm -rf doc/build/html/.{doctrees,buildinfo} %install ++++++ oslo.log-5.5.1.tar.gz -> oslo.log-6.0.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-5.5.1/ChangeLog new/oslo.log-6.0.0/ChangeLog --- old/oslo.log-5.5.1/ChangeLog 2024-04-02 09:48:27.000000000 +0200 +++ new/oslo.log-6.0.0/ChangeLog 2024-05-23 10:14:42.000000000 +0200 @@ -1,12 +1,21 @@ CHANGES ======= -5.5.1 +6.0.0 ----- +* Remove unused pyinotify +* Remove old excludes +* Remove implementation for watch\_log\_file +* Apply eventlet workaround only once +* Deprecate watch\_log\_file +* Remove fallback for old oslo.context +* Fix broken reference to rate\_limit\_except\_level +* Validate rate\_limit\_except\_level by choices +* Imported Translations from Zanata * Fix eventlet detection -* Update TOX\_CONSTRAINTS\_FILE for stable/2024.1 -* Update .gitreview for stable/2024.1 +* Update master for stable/2024.1 +* reno: Update master for unmaintained/victoria 5.5.0 ----- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-5.5.1/PKG-INFO new/oslo.log-6.0.0/PKG-INFO --- old/oslo.log-5.5.1/PKG-INFO 2024-04-02 09:48:27.967316000 +0200 +++ new/oslo.log-6.0.0/PKG-INFO 2024-05-23 10:14:42.467394000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: oslo.log -Version: 5.5.1 +Version: 6.0.0 Summary: oslo.log library Home-page: https://docs.openstack.org/oslo.log/latest Author: OpenStack diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-5.5.1/doc/requirements.txt new/oslo.log-6.0.0/doc/requirements.txt --- old/oslo.log-5.5.1/doc/requirements.txt 2024-04-02 09:48:05.000000000 +0200 +++ new/oslo.log-6.0.0/doc/requirements.txt 2024-05-23 10:14:12.000000000 +0200 @@ -1,8 +1,4 @@ -# The order of packages is significant, because pip processes them in the order -# of appearance. Changing the order has an impact on the overall integration -# process, which may cause wedges in the gate later. - -sphinx>=2.0.0,!=2.1.0 # BSD +sphinx>=2.0.0 # BSD openstackdocstheme>=2.2.1 # Apache-2.0 reno>=3.1.0 # Apache-2.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-5.5.1/doc/source/reference/watchers.rst new/oslo.log-6.0.0/doc/source/reference/watchers.rst --- old/oslo.log-5.5.1/doc/source/reference/watchers.rst 2024-04-02 09:48:05.000000000 +0200 +++ new/oslo.log-6.0.0/doc/source/reference/watchers.rst 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ -================== - oslo_log.watchers -================== - -.. automodule:: oslo_log.watchers - :members: - :undoc-members: - :show-inheritance: - -.. seealso:: - - :ref:`using` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-5.5.1/oslo.log.egg-info/PKG-INFO new/oslo.log-6.0.0/oslo.log.egg-info/PKG-INFO --- old/oslo.log-5.5.1/oslo.log.egg-info/PKG-INFO 2024-04-02 09:48:27.000000000 +0200 +++ new/oslo.log-6.0.0/oslo.log.egg-info/PKG-INFO 2024-05-23 10:14:42.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: oslo.log -Version: 5.5.1 +Version: 6.0.0 Summary: oslo.log library Home-page: https://docs.openstack.org/oslo.log/latest Author: OpenStack diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-5.5.1/oslo.log.egg-info/SOURCES.txt new/oslo.log-6.0.0/oslo.log.egg-info/SOURCES.txt --- old/oslo.log-5.5.1/oslo.log.egg-info/SOURCES.txt 2024-04-02 09:48:27.000000000 +0200 +++ new/oslo.log-6.0.0/oslo.log.egg-info/SOURCES.txt 2024-05-23 10:14:42.000000000 +0200 @@ -33,7 +33,6 @@ doc/source/reference/index.rst doc/source/reference/log.rst doc/source/reference/versionutils.rst -doc/source/reference/watchers.rst doc/source/user/examples.rst doc/source/user/guidelines.rst doc/source/user/history.rst @@ -64,7 +63,6 @@ oslo_log/rate_limit.py oslo_log/version.py oslo_log/versionutils.py -oslo_log/watchers.py oslo_log/cmds/__init__.py oslo_log/cmds/convert_json.py oslo_log/fixture/__init__.py @@ -93,6 +91,7 @@ releasenotes/notes/add-reno-e4fedb11ece56f1e.yaml releasenotes/notes/add-system_scope-to-logging_user_identity_format-0581ce5070740375.yaml releasenotes/notes/always-add-error-text-715022964364ffa0.yaml +releasenotes/notes/deprecate-watch-log-file-ba9524ae872e7c01.yaml releasenotes/notes/deprecate-windows-support-75e6ac72310d5e72.yaml releasenotes/notes/drop-python27-support-0fe4909a5468feb3.yaml releasenotes/notes/info-logging-7b7be9fc7a95aebc.yaml @@ -113,6 +112,7 @@ releasenotes/notes/windows-eventlog-2beb0a6010e342eb.yaml releasenotes/source/2023.1.rst releasenotes/source/2023.2.rst +releasenotes/source/2024.1.rst releasenotes/source/conf.py releasenotes/source/index.rst releasenotes/source/liberty.rst diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-5.5.1/oslo.log.egg-info/pbr.json new/oslo.log-6.0.0/oslo.log.egg-info/pbr.json --- old/oslo.log-5.5.1/oslo.log.egg-info/pbr.json 2024-04-02 09:48:27.000000000 +0200 +++ new/oslo.log-6.0.0/oslo.log.egg-info/pbr.json 2024-05-23 10:14:42.000000000 +0200 @@ -1 +1 @@ -{"git_version": "a6c4f8a", "is_release": true} \ No newline at end of file +{"git_version": "f05a852", "is_release": true} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-5.5.1/oslo.log.egg-info/requires.txt new/oslo.log-6.0.0/oslo.log.egg-info/requires.txt --- old/oslo.log-5.5.1/oslo.log.egg-info/requires.txt 2024-04-02 09:48:27.000000000 +0200 +++ new/oslo.log-6.0.0/oslo.log.egg-info/requires.txt 2024-05-23 10:14:42.000000000 +0200 @@ -1,4 +1,3 @@ -debtcollector>=1.19.0 oslo.config>=5.2.0 oslo.context>=2.21.0 oslo.i18n>=3.20.0 @@ -7,9 +6,6 @@ pbr>=3.1.1 python-dateutil>=2.7.0 -[:(sys_platform!='win32' and sys_platform!='darwin' and sys_platform!='sunos5')] -pyinotify>=0.9.6 - [fixtures] fixtures>=3.0.0 @@ -18,7 +14,7 @@ [test] coverage>=4.5.1 -eventlet!=0.32.0,>=0.30.1 +eventlet>=0.30.1 fixtures>=3.0.0 oslotest>=3.3.0 stestr>=2.0.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-5.5.1/oslo_log/_options.py new/oslo.log-6.0.0/oslo_log/_options.py --- old/oslo.log-5.5.1/oslo_log/_options.py 2024-04-02 09:48:05.000000000 +0200 +++ new/oslo.log-6.0.0/oslo_log/_options.py 2024-05-23 10:14:12.000000000 +0200 @@ -74,6 +74,10 @@ + _IGNORE_MESSAGE), cfg.BoolOpt('watch-log-file', default=False, + deprecated_for_removal=True, + deprecated_reason=('This function is known to have bene ' + 'broken for long time, and depends on ' + 'the unmaintained library'), help='Uses logging handler designed to watch file ' 'system. When log file is moved or removed this handler ' 'will open a new log file with specified path ' @@ -203,8 +207,8 @@ 'rate_limit_interval.'), cfg.StrOpt('rate_limit_except_level', default='CRITICAL', - help='Log level name used by rate limiting: CRITICAL, ERROR, ' - 'INFO, WARNING, DEBUG or empty string. Logs with level ' + choices=['CRITICAL', 'ERROR', 'INFO', 'WARNING', 'DEBUG', ''], + help='Log level name used by rate limiting. Logs with level ' 'greater or equal to rate_limit_except_level are not ' 'filtered. An empty string means that all levels are ' 'filtered.'), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-5.5.1/oslo_log/formatters.py new/oslo.log-6.0.0/oslo_log/formatters.py --- old/oslo.log-5.5.1/oslo_log/formatters.py 2024-04-02 09:48:05.000000000 +0200 +++ new/oslo.log-6.0.0/oslo_log/formatters.py 2024-05-23 10:14:12.000000000 +0200 @@ -11,7 +11,6 @@ # under the License. import datetime -import debtcollector import functools import io import itertools @@ -33,13 +32,6 @@ def _dictify_context(context): if getattr(context, 'get_logging_values', None): return context.get_logging_values() - elif getattr(context, 'to_dict', None): - debtcollector.deprecate( - 'The RequestContext.get_logging_values() ' - 'method should be defined for logging context specific ' - 'information. The to_dict() method is deprecated ' - 'for oslo.log use.', version='3.8.0', removal_version='5.0.0') - return context.to_dict() # This dict only style logging format will become deprecated # when projects using a dictionary object for context are updated elif isinstance(context, dict): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-5.5.1/oslo_log/log.py new/oslo.log-6.0.0/oslo_log/log.py --- old/oslo.log-5.5.1/oslo_log/log.py 2024-04-02 09:48:05.000000000 +0200 +++ new/oslo.log-6.0.0/oslo_log/log.py 2024-05-23 10:14:12.000000000 +0200 @@ -70,6 +70,8 @@ 'midnight': 'midnight' } +_EVENTLET_FIX_APPLIED = False + def _get_log_file_path(conf, binary=None): logfile = conf.log_file @@ -272,13 +274,16 @@ Workaround for: https://github.com/eventlet/eventlet/issues/432 """ + global _EVENTLET_FIX_APPLIED + # If eventlet was not loaded before call to setup assume it's not used. - if eventletutils.is_monkey_patched('thread'): + if eventletutils.is_monkey_patched('thread') and not _EVENTLET_FIX_APPLIED: import eventlet.green.threading from oslo_log import pipe_mutex logging.threading = eventlet.green.threading logging._lock = logging.threading.RLock() logging.Handler.createLock = pipe_mutex.pipe_createLock + _EVENTLET_FIX_APPLIED = True def setup(conf, product_name, version='unknown', *, fix_eventlet=True): @@ -372,10 +377,9 @@ logpath = _get_log_file_path(conf) if logpath: # On Windows, in-use files cannot be moved or deleted. - if conf.watch_log_file and platform.system() == 'Linux': - from oslo_log import watchers - file_handler = watchers.FastWatchedFileHandler - filelog = file_handler(logpath) + if conf.watch_log_file: + raise RuntimeError('watch_log_file feature was removed because ' + 'it has been broken for multiple releases.') elif conf.log_rotation_type.lower() == "interval": file_handler = logging.handlers.TimedRotatingFileHandler when = conf.log_rotate_interval_type.lower() @@ -472,7 +476,7 @@ from oslo_log import rate_limit rate_limit.install_filter(conf.rate_limit_burst, conf.rate_limit_interval, - conf.rate_limit_except) + conf.rate_limit_except_level) _loggers = {} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-5.5.1/oslo_log/tests/unit/test_formatters.py new/oslo.log-6.0.0/oslo_log/tests/unit/test_formatters.py --- old/oslo.log-5.5.1/oslo_log/tests/unit/test_formatters.py 2024-04-02 09:48:05.000000000 +0200 +++ new/oslo.log-6.0.0/oslo_log/tests/unit/test_formatters.py 2024-05-23 10:14:12.000000000 +0200 @@ -16,7 +16,6 @@ import logging import sys -from unittest import mock from oslo_config import cfg from oslo_config import fixture as config_fixture @@ -37,17 +36,6 @@ return ctxt -class AlternativeRequestContext(object): - - def __init__(self, user=None, tenant=None): - self.user = user - self.tenant = tenant - - def to_dict(self): - return {'user': self.user, - 'tenant': self.tenant} - - class FormatterTest(test_base.BaseTestCase): def setUp(self): @@ -66,29 +54,14 @@ def test_dictify_context_empty(self): self.assertEqual({}, formatters._dictify_context(None)) - @mock.patch("debtcollector.deprecate") - def test_dictify_context_with_dict(self, mock_deprecate): + def test_dictify_context_with_dict(self): d = {"user": "user"} self.assertEqual(d, formatters._dictify_context(d)) - mock_deprecate.assert_not_called() - @mock.patch("debtcollector.deprecate") - def test_dictify_context_with_context(self, mock_deprecate): + def test_dictify_context_with_context(self): ctxt = _fake_context() self.assertEqual(ctxt.get_logging_values(), formatters._dictify_context(ctxt)) - mock_deprecate.assert_not_called() - - @mock.patch("debtcollector.deprecate") - def test_dictify_context_without_get_logging_values(self, mock_deprecate): - ctxt = AlternativeRequestContext(user="user", tenant="tenant") - d = {"user": "user", "tenant": "tenant"} - self.assertEqual(d, formatters._dictify_context(ctxt)) - mock_deprecate.assert_called_with( - 'The RequestContext.get_logging_values() ' - 'method should be defined for logging context specific ' - 'information. The to_dict() method is deprecated ' - 'for oslo.log use.', removal_version='5.0.0', version='3.8.0') # Test for https://bugs.python.org/issue28603 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-5.5.1/oslo_log/tests/unit/test_log.py new/oslo.log-6.0.0/oslo_log/tests/unit/test_log.py --- old/oslo.log-5.5.1/oslo_log/tests/unit/test_log.py 2024-04-02 09:48:05.000000000 +0200 +++ new/oslo.log-6.0.0/oslo_log/tests/unit/test_log.py 2024-05-23 10:14:12.000000000 +0200 @@ -22,7 +22,6 @@ import io import logging import os -import platform import shutil import sys try: @@ -154,24 +153,6 @@ mock_logger = loggers_mock.return_value.logger mock_logger.addHandler.assert_any_call(handler_mock.return_value) - @mock.patch('oslo_log.watchers.FastWatchedFileHandler') - @mock.patch('oslo_log.log._get_log_file_path', return_value='test.conf') - @mock.patch('platform.system', return_value='Linux') - def test_watchlog_on_linux(self, platfotm_mock, path_mock, handler_mock): - self.config(watch_log_file=True) - log._setup_logging_from_conf(self.CONF, 'test', 'test') - handler_mock.assert_called_once_with(path_mock.return_value) - self.assertEqual(self.log_handlers[0], handler_mock.return_value) - - @mock.patch('logging.handlers.WatchedFileHandler') - @mock.patch('oslo_log.log._get_log_file_path', return_value='test.conf') - @mock.patch('platform.system', return_value='Windows') - def test_watchlog_on_windows(self, platform_mock, path_mock, handler_mock): - self.config(watch_log_file=True) - log._setup_logging_from_conf(self.CONF, 'test', 'test') - handler_mock.assert_called_once_with(path_mock.return_value) - self.assertEqual(self.log_handlers[0], handler_mock.return_value) - @mock.patch('logging.handlers.TimedRotatingFileHandler') @mock.patch('oslo_log.log._get_log_file_path', return_value='test.conf') def test_timed_rotate_log(self, path_mock, handler_mock): @@ -1363,54 +1344,6 @@ self.assertIsNone(self.conf.log_file) -@testtools.skipIf(platform.system() != 'Linux', - 'pyinotify library works on Linux platform only.') -class FastWatchedFileHandlerTestCase(BaseTestCase): - - def setUp(self): - super(FastWatchedFileHandlerTestCase, self).setUp() - - def _config(self): - os_level, log_path = tempfile.mkstemp() - log_dir_path = os.path.dirname(log_path) - log_file_path = os.path.basename(log_path) - self.CONF(['--log-dir', log_dir_path, '--log-file', log_file_path]) - self.config(use_stderr=False) - self.config(watch_log_file=True) - log.setup(self.CONF, 'test', 'test') - return log_path - - def test_instantiate(self): - self._config() - logger = log._loggers[None].logger - self.assertEqual(1, len(logger.handlers)) - from oslo_log import watchers - self.assertIsInstance(logger.handlers[0], - watchers.FastWatchedFileHandler) - - def test_log(self): - log_path = self._config() - logger = log._loggers[None].logger - text = 'Hello World!' - logger.info(text) - with open(log_path, 'r') as f: - file_content = f.read() - self.assertIn(text, file_content) - - def test_move(self): - log_path = self._config() - os_level_dst, log_path_dst = tempfile.mkstemp() - os.rename(log_path, log_path_dst) - time.sleep(6) - self.assertTrue(os.path.exists(log_path)) - - def test_remove(self): - log_path = self._config() - os.remove(log_path) - time.sleep(6) - self.assertTrue(os.path.exists(log_path)) - - class MutateTestCase(BaseTestCase): def setUp(self): super(MutateTestCase, self).setUp() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-5.5.1/oslo_log/watchers.py new/oslo.log-6.0.0/oslo_log/watchers.py --- old/oslo.log-5.5.1/oslo_log/watchers.py 2024-04-02 09:48:05.000000000 +0200 +++ new/oslo.log-6.0.0/oslo_log/watchers.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,111 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -import errno -import logging -import logging.config -import logging.handlers -import os -import pyinotify -import stat -import time -try: - import syslog -except ImportError: - syslog = None - -"""Linux specific pyinotify based logging handlers""" - - -class _FileKeeper(pyinotify.ProcessEvent): - def my_init(self, watched_handler, watched_file): - self._watched_handler = watched_handler - self._watched_file = watched_file - - def process_default(self, event): - if event.name == self._watched_file: - self._watched_handler.reopen_file() - - -class _EventletThreadedNotifier(pyinotify.ThreadedNotifier): - - def loop(self): - """Eventlet friendly ThreadedNotifier - - EventletFriendlyThreadedNotifier contains additional time.sleep() - call insude loop to allow switching to other thread when eventlet - is used. - It can be used with eventlet and native threads as well. - """ - - while not self._stop_event.is_set(): - self.process_events() - time.sleep(0) - ref_time = time.time() - if self.check_events(): - self._sleep(ref_time) - self.read_events() - - -class FastWatchedFileHandler(logging.handlers.WatchedFileHandler, object): - """Frequency of reading events. - - Watching thread sleeps max(0, READ_FREQ - (TIMEOUT / 1000)) seconds. - """ - READ_FREQ = 5 - - """Poll timeout in milliseconds. - - See https://docs.python.org/2/library/select.html#select.poll.poll""" - TIMEOUT = 5 - - def __init__(self, logpath, *args, **kwargs): - self._log_file = os.path.basename(logpath) - self._log_dir = os.path.dirname(logpath) - super(FastWatchedFileHandler, self).__init__(logpath, *args, **kwargs) - self._watch_file() - - def _watch_file(self): - mask = pyinotify.IN_MOVED_FROM | pyinotify.IN_DELETE - watch_manager = pyinotify.WatchManager() - handler = _FileKeeper(watched_handler=self, - watched_file=self._log_file) - notifier = _EventletThreadedNotifier( - watch_manager, - default_proc_fun=handler, - read_freq=FastWatchedFileHandler.READ_FREQ, - timeout=FastWatchedFileHandler.TIMEOUT) - notifier.daemon = True - watch_manager.add_watch(self._log_dir, mask) - notifier.start() - - def reopen_file(self): - try: - # stat the file by path, checking for existence - sres = os.stat(self.baseFilename) - except OSError as err: - if err.errno == errno.ENOENT: - sres = None - else: - raise - # compare file system stat with that of our stream file handle - if (not sres or - sres[stat.ST_DEV] != self.dev or - sres[stat.ST_INO] != self.ino): - if self.stream is not None: - # we have an open file handle, clean it up - self.stream.flush() - self.stream.close() - self.stream = None - # open a new file handle and get new stat info from that fd - self.stream = self._open() - self._statstream() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-5.5.1/releasenotes/notes/deprecate-watch-log-file-ba9524ae872e7c01.yaml new/oslo.log-6.0.0/releasenotes/notes/deprecate-watch-log-file-ba9524ae872e7c01.yaml --- old/oslo.log-5.5.1/releasenotes/notes/deprecate-watch-log-file-ba9524ae872e7c01.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/oslo.log-6.0.0/releasenotes/notes/deprecate-watch-log-file-ba9524ae872e7c01.yaml 2024-05-23 10:14:12.000000000 +0200 @@ -0,0 +1,11 @@ +--- +deprecations: + - | + The ``watch_log_file`` option has been deprecated and will be removed in + a future release. + +upgrade: + - | + Setting ``[DEFAULT] watch_log_file = True`` now raises RuntimeError while + configuring logger. The feature has been broken for multiple cycles and + depends on pyinotify library which is not maintained now. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-5.5.1/releasenotes/source/2024.1.rst new/oslo.log-6.0.0/releasenotes/source/2024.1.rst --- old/oslo.log-5.5.1/releasenotes/source/2024.1.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/oslo.log-6.0.0/releasenotes/source/2024.1.rst 2024-05-23 10:14:12.000000000 +0200 @@ -0,0 +1,6 @@ +=========================== +2024.1 Series Release Notes +=========================== + +.. release-notes:: + :branch: stable/2024.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-5.5.1/releasenotes/source/index.rst new/oslo.log-6.0.0/releasenotes/source/index.rst --- old/oslo.log-5.5.1/releasenotes/source/index.rst 2024-04-02 09:48:05.000000000 +0200 +++ new/oslo.log-6.0.0/releasenotes/source/index.rst 2024-05-23 10:14:12.000000000 +0200 @@ -6,6 +6,7 @@ :maxdepth: 1 unreleased + 2024.1 2023.2 2023.1 victoria diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-5.5.1/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po new/oslo.log-6.0.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po --- old/oslo.log-5.5.1/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po 2024-04-02 09:48:05.000000000 +0200 +++ new/oslo.log-6.0.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po 2024-05-23 10:14:12.000000000 +0200 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: oslo.log\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-05 13:36+0000\n" +"POT-Creation-Date: 2024-03-26 18:32+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -88,6 +88,9 @@ msgid "5.0.0" msgstr "5.0.0" +msgid "5.0.1" +msgstr "5.0.1" + msgid "5.2.0" msgstr "5.2.0" @@ -312,5 +315,12 @@ "When removing the \"verbose\" option, the default logging level was set to " "\"WARNING\" by mistake. Fixed it back to \"INFO\"." +msgid "" +"`Bug #1983863 <https://bugs.launchpad.net/oslo.log/+bug/1983863>`_: Fixed " +"logging in eventlet native threads." +msgstr "" +"`Bug #1983863 <https://bugs.launchpad.net/oslo.log/+bug/1983863>`_: Fixed " +"logging in eventlet native threads." + msgid "oslo.log Release Notes" msgstr "oslo.log Release Notes" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-5.5.1/releasenotes/source/victoria.rst new/oslo.log-6.0.0/releasenotes/source/victoria.rst --- old/oslo.log-5.5.1/releasenotes/source/victoria.rst 2024-04-02 09:48:05.000000000 +0200 +++ new/oslo.log-6.0.0/releasenotes/source/victoria.rst 2024-05-23 10:14:12.000000000 +0200 @@ -3,4 +3,4 @@ ============================= .. release-notes:: - :branch: stable/victoria + :branch: unmaintained/victoria diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-5.5.1/requirements.txt new/oslo.log-6.0.0/requirements.txt --- old/oslo.log-5.5.1/requirements.txt 2024-04-02 09:48:05.000000000 +0200 +++ new/oslo.log-6.0.0/requirements.txt 2024-05-23 10:14:12.000000000 +0200 @@ -4,6 +4,4 @@ oslo.i18n>=3.20.0 # Apache-2.0 oslo.utils>=3.36.0 # Apache-2.0 oslo.serialization>=2.25.0 # Apache-2.0 -debtcollector>=1.19.0 # Apache-2.0 -pyinotify>=0.9.6;sys_platform!='win32' and sys_platform!='darwin' and sys_platform!='sunos5' # MIT python-dateutil>=2.7.0 # BSD diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-5.5.1/test-requirements.txt new/oslo.log-6.0.0/test-requirements.txt --- old/oslo.log-5.5.1/test-requirements.txt 2024-04-02 09:48:05.000000000 +0200 +++ new/oslo.log-6.0.0/test-requirements.txt 2024-05-23 10:14:12.000000000 +0200 @@ -6,4 +6,4 @@ fixtures>=3.0.0 # Apache-2.0/BSD -eventlet>=0.30.1,!=0.32.0 # MIT +eventlet>=0.30.1 # MIT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.log-5.5.1/tox.ini new/oslo.log-6.0.0/tox.ini --- old/oslo.log-5.5.1/tox.ini 2024-04-02 09:48:05.000000000 +0200 +++ new/oslo.log-6.0.0/tox.ini 2024-05-23 10:14:12.000000000 +0200 @@ -8,7 +8,7 @@ allowlist_externals = find deps = - -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/2024.1} + -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/test-requirements.txt commands = find . -type f -name "*.pyc" -delete @@ -27,7 +27,7 @@ [testenv:docs] allowlist_externals = rm deps = - -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/2024.1} + -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/doc/requirements.txt commands = rm -fr doc/build @@ -36,7 +36,7 @@ [testenv:releasenotes] allowlist_externals = rm deps = - -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/2024.1} + -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/doc/requirements.txt commands = rm -rf releasenotes/build
participants (1)
-
Source-Sync