Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-oslo.concurrency for
openSUSE:Factory checked in at 2023-03-07 16:49:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oslo.concurrency (Old)
and /work/SRC/openSUSE:Factory/.python-oslo.concurrency.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-oslo.concurrency"
Tue Mar 7 16:49:36 2023 rev:19 rq:1069678 version:5.0.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-oslo.concurrency/python-oslo.concurrency.changes
2022-05-25 20:34:55.548258083 +0200
+++
/work/SRC/openSUSE:Factory/.python-oslo.concurrency.new.31432/python-oslo.concurrency.changes
2023-03-07 16:50:11.177537824 +0100
@@ -1,0 +2,17 @@
+Mon Mar 6 15:22:54 UTC 2023 - Dirk Müller <[email protected]>
+
+- avoid eventlet lockup
+
+-------------------------------------------------------------------
+Sat Oct 1 12:23:30 UTC 2022 - [email protected]
+
+- update to version 5.0.1
+ - Log when waiting to acquire lock
+ - Ignore coverage result files
+ - Fix formatting of release list
+ - Drop python3.6/3.7 support in testing runtime
+ - Fix fair internal lock used from eventlet.spawn_n
+ - Prove that spawn_n with fair lock is broken
+ - Imported Translations from Zanata
+
+-------------------------------------------------------------------
Old:
----
oslo.concurrency-4.5.1.tar.gz
New:
----
oslo.concurrency-5.0.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-oslo.concurrency.spec ++++++
--- /var/tmp/diff_new_pack.2fFxJv/_old 2023-03-07 16:50:11.789541045 +0100
+++ /var/tmp/diff_new_pack.2fFxJv/_new 2023-03-07 16:50:11.793541066 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-oslo.concurrency
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,13 +17,13 @@
Name: python-oslo.concurrency
-Version: 4.5.1
+Version: 5.0.1
Release: 0
Summary: OpenStack oslo.concurrency library
License: Apache-2.0
Group: Development/Languages/Python
URL: https://docs.openstack.org/oslo.concurrency
-Source0:
https://files.pythonhosted.org/packages/source/o/oslo.concurrency/oslo.concurrency-4.5.1.tar.gz
+Source0:
https://files.pythonhosted.org/packages/source/o/oslo.concurrency/oslo.concurrency-5.0.1.tar.gz
BuildRequires: openstack-macros
BuildRequires: python3-eventlet
BuildRequires: python3-fasteners >= 0.7.0
@@ -73,7 +73,7 @@
This package contains the documentation.
%prep
-%autosetup -p1 -n oslo.concurrency-4.5.1
+%autosetup -p1 -n oslo.concurrency-5.0.1
%py_req_cleanup
%build
@@ -88,7 +88,8 @@
%{py3_install}
%check
-python3 -m stestr.cli run
+env TEST_EVENTLET=0 %{openstack_stestr_run}
+env TEST_EVENTLET=1 %{openstack_stestr_run}
%files -n python3-oslo.concurrency
%license LICENSE
++++++ oslo.concurrency-4.5.1.tar.gz -> oslo.concurrency-5.0.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.5.1/AUTHORS
new/oslo.concurrency-5.0.1/AUTHORS
--- old/oslo.concurrency-4.5.1/AUTHORS 2022-05-05 11:52:43.000000000 +0200
+++ new/oslo.concurrency-5.0.1/AUTHORS 2022-09-06 13:53:22.000000000 +0200
@@ -7,6 +7,7 @@
Ann Kamyshnikova <[email protected]>
Arata Notsu <[email protected]>
Arthur Dayne <[email protected]>
+Balazs Gibizer <[email protected]>
Ben Nemec <[email protected]>
Ben Nemec <[email protected]>
Brad Pokorny <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.5.1/ChangeLog
new/oslo.concurrency-5.0.1/ChangeLog
--- old/oslo.concurrency-4.5.1/ChangeLog 2022-05-05 11:52:43.000000000
+0200
+++ new/oslo.concurrency-5.0.1/ChangeLog 2022-09-06 13:53:22.000000000
+0200
@@ -1,6 +1,21 @@
CHANGES
=======
+5.0.1
+-----
+
+* Ignore coverage result files
+* Fix fair internal lock used from eventlet.spawn\_n
+* Prove that spawn\_n with fair lock is broken
+
+5.0.0
+-----
+
+* Log when waiting to acquire lock
+* Imported Translations from Zanata
+* Fix formatting of release list
+* Drop python3.6/3.7 support in testing runtime
+
4.5.1
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.5.1/PKG-INFO
new/oslo.concurrency-5.0.1/PKG-INFO
--- old/oslo.concurrency-4.5.1/PKG-INFO 2022-05-05 11:52:43.497313700 +0200
+++ new/oslo.concurrency-5.0.1/PKG-INFO 2022-09-06 13:53:22.727933200 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: oslo.concurrency
-Version: 4.5.1
+Version: 5.0.1
Summary: Oslo Concurrency library
Home-page: https://docs.openstack.org/oslo.concurrency/latest/
Author: OpenStack
@@ -42,10 +42,8 @@
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.6
-Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
-Requires-Python: >=3.6
+Requires-Python: >=3.8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.concurrency-4.5.1/oslo.concurrency.egg-info/PKG-INFO
new/oslo.concurrency-5.0.1/oslo.concurrency.egg-info/PKG-INFO
--- old/oslo.concurrency-4.5.1/oslo.concurrency.egg-info/PKG-INFO
2022-05-05 11:52:43.000000000 +0200
+++ new/oslo.concurrency-5.0.1/oslo.concurrency.egg-info/PKG-INFO
2022-09-06 13:53:22.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: oslo.concurrency
-Version: 4.5.1
+Version: 5.0.1
Summary: Oslo Concurrency library
Home-page: https://docs.openstack.org/oslo.concurrency/latest/
Author: OpenStack
@@ -42,10 +42,8 @@
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.6
-Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
-Requires-Python: >=3.6
+Requires-Python: >=3.8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.concurrency-4.5.1/oslo.concurrency.egg-info/SOURCES.txt
new/oslo.concurrency-5.0.1/oslo.concurrency.egg-info/SOURCES.txt
--- old/oslo.concurrency-4.5.1/oslo.concurrency.egg-info/SOURCES.txt
2022-05-05 11:52:43.000000000 +0200
+++ new/oslo.concurrency-5.0.1/oslo.concurrency.egg-info/SOURCES.txt
2022-09-06 13:53:22.000000000 +0200
@@ -61,6 +61,7 @@
releasenotes/notes/add-python-exec-kwarg-3a7a0c0849f9bb21.yaml
releasenotes/notes/add_reno-3b4ae0789e9c45b4.yaml
releasenotes/notes/drop-python27-support-7d837a45dae941bb.yaml
+releasenotes/notes/log_acquiring_lock-1b224c0b1562ec97.yaml
releasenotes/notes/timeout-c3fb65acda04c1c7.yaml
releasenotes/source/conf.py
releasenotes/source/index.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.concurrency-4.5.1/oslo.concurrency.egg-info/pbr.json
new/oslo.concurrency-5.0.1/oslo.concurrency.egg-info/pbr.json
--- old/oslo.concurrency-4.5.1/oslo.concurrency.egg-info/pbr.json
2022-05-05 11:52:43.000000000 +0200
+++ new/oslo.concurrency-5.0.1/oslo.concurrency.egg-info/pbr.json
2022-09-06 13:53:22.000000000 +0200
@@ -1 +1 @@
-{"git_version": "145f060", "is_release": true}
\ No newline at end of file
+{"git_version": "01cf2ff", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.concurrency-4.5.1/oslo_concurrency/locale/en_GB/LC_MESSAGES/oslo_concurrency.po
new/oslo.concurrency-5.0.1/oslo_concurrency/locale/en_GB/LC_MESSAGES/oslo_concurrency.po
---
old/oslo.concurrency-4.5.1/oslo_concurrency/locale/en_GB/LC_MESSAGES/oslo_concurrency.po
2022-05-05 11:52:12.000000000 +0200
+++
new/oslo.concurrency-5.0.1/oslo_concurrency/locale/en_GB/LC_MESSAGES/oslo_concurrency.po
2022-09-06 13:52:43.000000000 +0200
@@ -8,15 +8,16 @@
# Andreas Jaeger <[email protected]>, 2016. #zanata
# Andi Chandler <[email protected]>, 2017. #zanata
# Andi Chandler <[email protected]>, 2020. #zanata
+# Andi Chandler <[email protected]>, 2022. #zanata
msgid ""
msgstr ""
"Project-Id-Version: oslo.concurrency VERSION\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
-"POT-Creation-Date: 2020-04-27 10:22+0000\n"
+"POT-Creation-Date: 2022-05-11 16:22+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"PO-Revision-Date: 2020-04-27 08:12+0000\n"
+"PO-Revision-Date: 2022-06-13 07:42+0000\n"
"Last-Translator: Andi Chandler <[email protected]>\n"
"Language: en_GB\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -70,6 +71,9 @@
msgid "Command requested root, but did not specify a root helper."
msgstr "Command requested root, but did not specify a root helper."
+msgid "Disabling blocking is not supported when using fair locks."
+msgstr "Disabling blocking is not supported when using fair locks."
+
msgid "Environment not supported over SSH"
msgstr "Environment not supported over SSH"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.5.1/oslo_concurrency/lockutils.py
new/oslo.concurrency-5.0.1/oslo_concurrency/lockutils.py
--- old/oslo.concurrency-4.5.1/oslo_concurrency/lockutils.py 2022-05-05
11:52:12.000000000 +0200
+++ new/oslo.concurrency-5.0.1/oslo_concurrency/lockutils.py 2022-09-06
13:52:43.000000000 +0200
@@ -32,6 +32,14 @@
from oslo_concurrency._i18n import _
+try:
+ # import eventlet optionally
+ import eventlet
+ from eventlet import patcher as eventlet_patcher
+except ImportError:
+ eventlet = None
+ eventlet_patcher = None
+
LOG = logging.getLogger(__name__)
@@ -79,12 +87,23 @@
return conf.oslo_concurrency.lock_path
-InterProcessLock = fasteners.InterProcessLock
-ReaderWriterLock = fasteners.ReaderWriterLock
-"""A reader/writer lock.
+class ReaderWriterLock(fasteners.ReaderWriterLock):
+ """A reader/writer lock.
+
+ .. versionadded:: 0.4
+ """
+ def __init__(self, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+ # Until https://github.com/eventlet/eventlet/issues/731 is resolved
+ # we need to use eventlet.getcurrent instead of
+ # threading.current_thread if we are running in a monkey patched
+ # environment
+ if eventlet is not None and eventlet_patcher is not None:
+ if eventlet_patcher.is_monkey_patched('thread'):
+ self._current_thread = eventlet.getcurrent
+
-.. versionadded:: 0.4
-"""
+InterProcessLock = fasteners.InterProcessLock
class FairLocks(object):
@@ -289,6 +308,8 @@
else:
int_lock = internal_lock(name, semaphores=semaphores,
blocking=blocking)
+ if do_log:
+ LOG.debug('Acquiring lock "%s"', name)
with int_lock:
if do_log:
LOG.debug('Acquired lock "%(lock)s"', {'lock': name})
@@ -378,7 +399,9 @@
t1 = timeutils.now()
t2 = None
gotten = True
+ f_name = reflection.get_callable_name(f)
try:
+ LOG.debug('Acquiring lock "%s" by "%s"', name, f_name)
with lock(name, lock_file_prefix, external, lock_path,
do_log=False, semaphores=semaphores, delay=delay,
fair=fair, blocking=blocking):
@@ -386,7 +409,7 @@
LOG.debug('Lock "%(name)s" acquired by "%(function)s" :: '
'waited %(wait_secs)0.3fs',
{'name': name,
- 'function': reflection.get_callable_name(f),
+ 'function': f_name,
'wait_secs': (t2 - t1)})
return f(*args, **kwargs)
except AcquireLockFailedException:
@@ -401,7 +424,7 @@
' held %(held_secs)s',
{'name': name,
'gotten': 'released' if gotten else 'unacquired',
- 'function': reflection.get_callable_name(f),
+ 'function': f_name,
'held_secs': held_secs})
return inner
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.concurrency-4.5.1/oslo_concurrency/tests/unit/test_lockutils_eventlet.py
new/oslo.concurrency-5.0.1/oslo_concurrency/tests/unit/test_lockutils_eventlet.py
---
old/oslo.concurrency-4.5.1/oslo_concurrency/tests/unit/test_lockutils_eventlet.py
2022-05-05 11:52:12.000000000 +0200
+++
new/oslo.concurrency-5.0.1/oslo_concurrency/tests/unit/test_lockutils_eventlet.py
2022-09-06 13:52:43.000000000 +0200
@@ -51,3 +51,54 @@
pool.waitall()
self.assertTrue(self.completed)
+
+
+class TestInternalLock(test_base.BaseTestCase):
+ def _test_internal_lock_with_two_threads(self, fair, spawn):
+ self.other_started = eventlet.event.Event()
+ self.other_finished = eventlet.event.Event()
+
+ def other():
+ self.other_started.send('started')
+ with lockutils.lock("my-lock", fair=fair):
+ pass
+ self.other_finished.send('finished')
+
+ with lockutils.lock("my-lock", fair=fair):
+ # holding the lock and starting another thread that also wants to
+ # take it before finishes
+ spawn(other)
+ # let the other thread start
+ self.other_started.wait()
+ eventlet.sleep(0)
+ # the other thread should not have finished as it would need the
+ # lock we are holding
+ self.assertIsNone(
+ self.other_finished.wait(0.5),
+ "Two threads was able to take the same lock",
+ )
+
+ # we released the lock, let the other thread take it and run to
+ # completion
+ result = self.other_finished.wait()
+ self.assertEqual('finished', result)
+
+ def test_lock_with_spawn(self):
+ self._test_internal_lock_with_two_threads(
+ fair=False, spawn=eventlet.spawn
+ )
+
+ def test_lock_with_spawn_n(self):
+ self._test_internal_lock_with_two_threads(
+ fair=False, spawn=eventlet.spawn_n
+ )
+
+ def test_fair_lock_with_spawn(self):
+ self._test_internal_lock_with_two_threads(
+ fair=True, spawn=eventlet.spawn
+ )
+
+ def test_fair_lock_with_spawn_n(self):
+ self._test_internal_lock_with_two_threads(
+ fair=True, spawn=eventlet.spawn_n
+ )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.concurrency-4.5.1/releasenotes/notes/log_acquiring_lock-1b224c0b1562ec97.yaml
new/oslo.concurrency-5.0.1/releasenotes/notes/log_acquiring_lock-1b224c0b1562ec97.yaml
---
old/oslo.concurrency-4.5.1/releasenotes/notes/log_acquiring_lock-1b224c0b1562ec97.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/oslo.concurrency-5.0.1/releasenotes/notes/log_acquiring_lock-1b224c0b1562ec97.yaml
2022-09-06 13:52:43.000000000 +0200
@@ -0,0 +1,5 @@
+---
+features:
+ - |
+ Log before trying to acquire a lock to help detect deadlocks and long waits
+ to acquire locks.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.5.1/releasenotes/source/index.rst
new/oslo.concurrency-5.0.1/releasenotes/source/index.rst
--- old/oslo.concurrency-4.5.1/releasenotes/source/index.rst 2022-05-05
11:52:12.000000000 +0200
+++ new/oslo.concurrency-5.0.1/releasenotes/source/index.rst 2022-09-06
13:52:43.000000000 +0200
@@ -2,16 +2,16 @@
oslo.concurrency Release Notes
================================
- .. toctree::
- :maxdepth: 1
+.. toctree::
+ :maxdepth: 1
- unreleased
- victoria
- ussuri
- train
- stein
- rocky
- queens
- pike
- ocata
- newton
+ unreleased
+ victoria
+ ussuri
+ train
+ stein
+ rocky
+ queens
+ pike
+ ocata
+ newton
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.concurrency-4.5.1/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
new/oslo.concurrency-5.0.1/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
---
old/oslo.concurrency-4.5.1/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
2022-05-05 11:52:12.000000000 +0200
+++
new/oslo.concurrency-5.0.1/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
2022-09-06 13:52:43.000000000 +0200
@@ -2,15 +2,16 @@
# Andi Chandler <[email protected]>, 2017. #zanata
# Andi Chandler <[email protected]>, 2018. #zanata
# Andi Chandler <[email protected]>, 2020. #zanata
+# Andi Chandler <[email protected]>, 2022. #zanata
msgid ""
msgstr ""
"Project-Id-Version: oslo.concurrency\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-07-01 10:57+0000\n"
+"POT-Creation-Date: 2022-05-11 16:21+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"PO-Revision-Date: 2020-07-09 08:16+0000\n"
+"PO-Revision-Date: 2022-06-13 07:42+0000\n"
"Last-Translator: Andi Chandler <[email protected]>\n"
"Language-Team: English (United Kingdom)\n"
"Language: en_GB\n"
@@ -106,6 +107,9 @@
msgid "Ussuri Series Release Notes"
msgstr "Ussuri Series Release Notes"
+msgid "Victoria Series Release Notes"
+msgstr "Victoria Series Release Notes"
+
msgid ""
"We now have optional support for ``fair`` locks. When fair locks are "
"specified, blocking waiters will acquire the lock in the order that they "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.5.1/setup.cfg
new/oslo.concurrency-5.0.1/setup.cfg
--- old/oslo.concurrency-4.5.1/setup.cfg 2022-05-05 11:52:43.497313700
+0200
+++ new/oslo.concurrency-5.0.1/setup.cfg 2022-09-06 13:53:22.727933200
+0200
@@ -6,7 +6,7 @@
author = OpenStack
author_email = [email protected]
home_page = https://docs.openstack.org/oslo.concurrency/latest/
-python_requires = >=3.6
+python_requires = >=3.8
classifier =
Environment :: OpenStack
Intended Audience :: Information Technology
@@ -15,8 +15,6 @@
Operating System :: POSIX :: Linux
Programming Language :: Python
Programming Language :: Python :: 3
- Programming Language :: Python :: 3.6
- Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3 :: Only
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.5.1/tox.ini
new/oslo.concurrency-5.0.1/tox.ini
--- old/oslo.concurrency-4.5.1/tox.ini 2022-05-05 11:52:12.000000000 +0200
+++ new/oslo.concurrency-5.0.1/tox.ini 2022-09-06 13:52:43.000000000 +0200
@@ -37,7 +37,7 @@
setenv =
PYTHON=coverage run --source oslo_concurrency --parallel-mode
commands =
- stestr run {posargs}
+ env TEST_EVENTLET=0 lockutils-wrapper stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
@@ -55,4 +55,3 @@
deps = {[testenv:docs]deps}
commands =
sphinx-build -a -E -W -d releasenotes/build/doctrees --keep-going -b html
releasenotes/source releasenotes/build/html
-