Hello community,
here is the log from the commit of package python-oslo.concurrency for
openSUSE:Factory checked in at 2020-10-26 16:16:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oslo.concurrency (Old)
and /work/SRC/openSUSE:Factory/.python-oslo.concurrency.new.3463 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-oslo.concurrency"
Mon Oct 26 16:16:27 2020 rev:17 rq:841205 version:4.3.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-oslo.concurrency/python-oslo.concurrency.changes
2020-06-05 20:15:51.842903111 +0200
+++
/work/SRC/openSUSE:Factory/.python-oslo.concurrency.new.3463/python-oslo.concurrency.changes
2020-10-26 16:17:02.686970426 +0100
@@ -1,0 +2,24 @@
+Fri Oct 9 19:10:17 UTC 2020 - [email protected]
+
+- update to version 4.3.0
+ - Don't warn on lock removal if file doesn't exist
+ - Bump default tox env from py37 to py38
+ - Add support for timeout to processutils.execute
+ - Monkey patch original current_thread _active
+ - Stop to use the __future__ module.
+ - Remove babel.cfg etc
+ - Switch to newer openstackdocstheme and reno versions
+ - Imported Translations from Zanata
+ - Update master for stable/ussuri
+ - Align contributing doc with oslo's policy
+ - Remove six usage
+ - Fix pygments style
+ - Update lower-constraints versions
+ - Fix hacking min version to 3.0.1
+ - Bump bandit version
+ - Add py38 package metadata
+ - Add Python3 victoria unit tests
+ - Add release notes links to doc index
+ - Remove the unused coding style modules
+
+-------------------------------------------------------------------
Old:
----
oslo.concurrency-4.0.2.tar.gz
New:
----
oslo.concurrency-4.3.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-oslo.concurrency.spec ++++++
--- /var/tmp/diff_new_pack.eARahU/_old 2020-10-26 16:17:03.606971166 +0100
+++ /var/tmp/diff_new_pack.eARahU/_new 2020-10-26 16:17:03.610971170 +0100
@@ -17,13 +17,13 @@
Name: python-oslo.concurrency
-Version: 4.0.2
+Version: 4.3.0
Release: 0
Summary: OpenStack oslo.concurrency library
License: Apache-2.0
Group: Development/Languages/Python
URL: https://launchpad.net/oslo.concurrency
-Source0:
https://files.pythonhosted.org/packages/source/o/oslo.concurrency/oslo.concurrency-4.0.2.tar.gz
+Source0:
https://files.pythonhosted.org/packages/source/o/oslo.concurrency/oslo.concurrency-4.3.0.tar.gz
BuildRequires: openstack-macros
BuildRequires: python3-eventlet
BuildRequires: python3-fasteners >= 0.7.0
@@ -51,7 +51,7 @@
Requires: python3-oslo.config >= 5.2.0
Requires: python3-oslo.i18n >= 3.15.3
Requires: python3-oslo.utils >= 3.33.0
-Requires: python3-six >= 1.10.0
+Requires: python3-six
%if 0%{?suse_version}
Obsoletes: python2-oslo.concurrency < 4.0.0
%endif
@@ -77,7 +77,7 @@
This package contains the documentation.
%prep
-%autosetup -p1 -n oslo.concurrency-4.0.2
+%autosetup -p1 -n oslo.concurrency-4.3.0
%py_req_cleanup
%build
++++++ _service ++++++
--- /var/tmp/diff_new_pack.eARahU/_old 2020-10-26 16:17:03.650971201 +0100
+++ /var/tmp/diff_new_pack.eARahU/_new 2020-10-26 16:17:03.650971201 +0100
@@ -1,8 +1,8 @@
<services>
<service mode="disabled" name="renderspec">
- <param
name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/ussuri/openstack/oslo.concurrency/oslo.concurrency.spec.j2</param>
+ <param
name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/victoria/openstack/oslo.concurrency/oslo.concurrency.spec.j2</param>
<param name="output-name">python-oslo.concurrency.spec</param>
- <param
name="requirements">https://opendev.org/openstack/oslo.concurrency/raw/branch/stable/ussuri/requirements.txt</param>
+ <param
name="requirements">https://opendev.org/openstack/oslo.concurrency/raw/branch/stable/victoria/requirements.txt</param>
<param name="changelog-email">[email protected]</param>
<param name="changelog-provider">gh,openstack,oslo.concurrency</param>
</service>
++++++ oslo.concurrency-4.0.2.tar.gz -> oslo.concurrency-4.3.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.0.2/.zuul.yaml
new/oslo.concurrency-4.3.0/.zuul.yaml
--- old/oslo.concurrency-4.0.2/.zuul.yaml 2020-04-07 12:10:50.000000000
+0200
+++ new/oslo.concurrency-4.3.0/.zuul.yaml 2020-09-11 21:23:14.000000000
+0200
@@ -4,7 +4,7 @@
- lib-forward-testing-python3
- openstack-cover-jobs
- openstack-lower-constraints-jobs
- - openstack-python3-ussuri-jobs
+ - openstack-python3-victoria-jobs
- periodic-stable-jobs
- publish-openstack-docs-pti
- release-notes-jobs-python3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.0.2/AUTHORS
new/oslo.concurrency-4.3.0/AUTHORS
--- old/oslo.concurrency-4.0.2/AUTHORS 2020-04-07 12:11:49.000000000 +0200
+++ new/oslo.concurrency-4.3.0/AUTHORS 2020-09-11 21:24:27.000000000 +0200
@@ -6,6 +6,7 @@
Angus Lees <[email protected]>
Ann Kamyshnikova <[email protected]>
Arata Notsu <[email protected]>
+Arthur Dayne <[email protected]>
Ben Nemec <[email protected]>
Ben Nemec <[email protected]>
Brad Pokorny <[email protected]>
@@ -28,6 +29,7 @@
Denis Buliga <[email protected]>
Dina Belova <[email protected]>
Dirk Mueller <[email protected]>
+Dmitry Tantsur <[email protected]>
Doug Hellmann <[email protected]>
Doug Hellmann <[email protected]>
Eric Fried <[email protected]>
@@ -63,6 +65,7 @@
Matthew Treinish <[email protected]>
Matthew Treinish <[email protected]>
Michael Still <[email protected]>
+Moisés Guimarães de Medeiros <[email protected]>
Monty Taylor <[email protected]>
Nikhil Manchanda <[email protected]>
Noorul Islam K M <[email protected]>
@@ -111,4 +114,5 @@
vponomaryov <[email protected]>
wangqi <[email protected]>
yanheven <[email protected]>
+zhangboye <[email protected]>
zhangsong <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.0.2/CONTRIBUTING.rst
new/oslo.concurrency-4.3.0/CONTRIBUTING.rst
--- old/oslo.concurrency-4.0.2/CONTRIBUTING.rst 2020-04-07 12:10:50.000000000
+0200
+++ new/oslo.concurrency-4.3.0/CONTRIBUTING.rst 2020-09-11 21:23:14.000000000
+0200
@@ -1,3 +1,8 @@
+If you would like to contribute to the development of oslo's libraries,
+first you must take a look to this page:
+
+
https://specs.openstack.org/openstack/oslo-specs/specs/policy/contributing.html
+
If you would like to contribute to the development of OpenStack,
you must follow the steps in this page:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.0.2/ChangeLog
new/oslo.concurrency-4.3.0/ChangeLog
--- old/oslo.concurrency-4.0.2/ChangeLog 2020-04-07 12:11:49.000000000
+0200
+++ new/oslo.concurrency-4.3.0/ChangeLog 2020-09-11 21:24:27.000000000
+0200
@@ -1,11 +1,47 @@
CHANGES
=======
+4.3.0
+-----
+
+* Bump bandit version
+* Imported Translations from Zanata
+
+4.2.0
+-----
+
+* Add support for timeout to processutils.execute
+* Update lower-constraints versions
+
+4.1.1
+-----
+
+* Fix pygments style
+
+4.1.0
+-----
+
+* Stop to use the \_\_future\_\_ module
+* Fix hacking min version to 3.0.1
+* Switch to newer openstackdocstheme and reno versions
+* Remove the unused coding style modules
+* Remove babel.cfg etc
+* Remove six usage
+* Monkey patch original current\_thread \_active
+* Align contributing doc with oslo's policy
+* Add py38 package metadata
+* Imported Translations from Zanata
+* Bump default tox env from py37 to py38
+* Add release notes links to doc index
+* Add Python3 victoria unit tests
+* Update master for stable/ussuri
+
4.0.2
-----
* Use unittest.mock instead of third party mock
* Update hacking for Python3
+* Don't warn on lock removal if file doesn't exist
4.0.1
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.0.2/PKG-INFO
new/oslo.concurrency-4.3.0/PKG-INFO
--- old/oslo.concurrency-4.0.2/PKG-INFO 2020-04-07 12:11:49.000000000 +0200
+++ new/oslo.concurrency-4.3.0/PKG-INFO 2020-09-11 21:24:27.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: oslo.concurrency
-Version: 4.0.2
+Version: 4.3.0
Summary: Oslo Concurrency library
Home-page: https://docs.openstack.org/oslo.concurrency/latest/
Author: OpenStack
@@ -44,6 +44,7 @@
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 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Requires-Python: >=3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.0.2/babel.cfg
new/oslo.concurrency-4.3.0/babel.cfg
--- old/oslo.concurrency-4.0.2/babel.cfg 2020-04-07 12:10:50.000000000
+0200
+++ new/oslo.concurrency-4.3.0/babel.cfg 1970-01-01 01:00:00.000000000
+0100
@@ -1 +0,0 @@
-[python: **.py]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.0.2/doc/requirements.txt
new/oslo.concurrency-4.3.0/doc/requirements.txt
--- old/oslo.concurrency-4.0.2/doc/requirements.txt 2020-04-07
12:10:50.000000000 +0200
+++ new/oslo.concurrency-4.3.0/doc/requirements.txt 2020-09-11
21:23:14.000000000 +0200
@@ -2,8 +2,8 @@
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
# this is required for the docs build jobs
-sphinx>=1.8.0,!=2.1.0 # BSD
-openstackdocstheme>=1.20.0 # Apache-2.0
-reno>=2.5.0 # Apache-2.0
+sphinx>=2.0.0,!=2.1.0 # BSD
+openstackdocstheme>=2.2.0 # Apache-2.0
+reno>=3.1.0 # Apache-2.0
fixtures>=3.0.0 # Apache-2.0/BSD
sphinxcontrib-apidoc>=0.2.0 # BSD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.0.2/doc/source/conf.py
new/oslo.concurrency-4.3.0/doc/source/conf.py
--- old/oslo.concurrency-4.0.2/doc/source/conf.py 2020-04-07
12:10:50.000000000 +0200
+++ new/oslo.concurrency-4.3.0/doc/source/conf.py 2020-09-11
21:23:14.000000000 +0200
@@ -24,9 +24,9 @@
]
# openstackdocstheme options
-repository_name = 'openstack/oslo.concurrency'
-bug_project = 'oslo.concurrency'
-bug_tag = ''
+openstackdocs_repo_name = 'openstack/oslo.concurrency'
+openstackdocs_bug_project = 'oslo.concurrency'
+openstackdocs_bug_tag = ''
# The master toctree document.
master_doc = 'index'
@@ -42,14 +42,12 @@
add_module_names = True
# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
-
+pygments_style = 'native'
# -- Options for HTML output -------------------------------------------------
html_theme = 'openstackdocs'
-
# -- sphinxcontrib.apidoc configuration --------------------------------------
apidoc_module_dir = '../../'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.0.2/doc/source/index.rst
new/oslo.concurrency-4.3.0/doc/source/index.rst
--- old/oslo.concurrency-4.0.2/doc/source/index.rst 2020-04-07
12:10:50.000000000 +0200
+++ new/oslo.concurrency-4.3.0/doc/source/index.rst 2020-09-11
21:23:14.000000000 +0200
@@ -16,6 +16,14 @@
contributor/index
reference/index
+
+Release Notes
+=============
+
+Read also the `oslo.concurrency Release Notes
+<https://docs.openstack.org/releasenotes/oslo.concurrency/>`_.
+
+
Indices and tables
==================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.0.2/lower-constraints.txt
new/oslo.concurrency-4.3.0/lower-constraints.txt
--- old/oslo.concurrency-4.0.2/lower-constraints.txt 2020-04-07
12:10:50.000000000 +0200
+++ new/oslo.concurrency-4.3.0/lower-constraints.txt 2020-09-11
21:23:14.000000000 +0200
@@ -1,60 +1,51 @@
-alabaster==0.7.10
appdirs==1.3.0
Babel==2.3.4
-bandit==1.1.0
+cliff==3.1.0
+cmd2==0.8.9
coverage==4.0
debtcollector==1.2.0
-docutils==0.11
-dulwich==0.15.0
-enum34==1.0.4;python_version=='2.7' or python_version=='2.6' or
python_version=='3.3' # BSD
-eventlet==0.18.2
+dnspython==1.16.0
+entrypoints==0.3
+eventlet==0.19.0
extras==1.0.0
fasteners==0.7.0
fixtures==3.0.0
-flake8==2.5.5
-futures==3.0.0;python_version=='2.7' or python_version=='2.6' # BSD
+future==0.18.2
gitdb==0.6.4
GitPython==1.0.1
-greenlet==0.4.10
-hacking==0.12.0
-imagesize==0.7.1
+greenlet==0.4.13
iso8601==0.1.11
-Jinja2==2.10
keystoneauth1==3.4.0
linecache2==1.0.0
-MarkupSafe==1.0
-mccabe==0.2.1
-monotonic==0.6
+mock==4.0.2
+monotonic==1.5
mox3==0.20.0
netaddr==0.7.18
netifaces==0.10.4
-openstackdocstheme==1.20.0
os-client-config==1.28.0
oslo.config==5.2.0
oslo.i18n==3.15.3
oslo.utils==3.33.0
oslotest==3.2.0
pbr==2.0.0
-pep8==1.5.7
-pyflakes==0.8.1
-Pygments==2.2.0
+prettytable==0.7.2
pyparsing==2.1.0
+pyperclip==1.8.0
python-mimeparse==1.6.0
python-subunit==1.0.0
pytz==2013.6
PyYAML==3.12
-reno==2.5.0
requests==2.14.2
requestsexceptions==1.2.0
rfc3986==0.3.1
six==1.10.0
smmap==0.9.0
-snowballstemmer==1.2.1
-Sphinx==1.8.0
-sphinxcontrib-websupport==1.0.1
-stevedore==1.20.0
stestr==2.0.0
+stevedore==1.20.0
+testrepository==0.0.20
testtools==2.2.0
traceback2==1.4.0
unittest2==1.1.0
+voluptuous==0.11.7
+wcwidth==0.2.4
wrapt==1.7.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.concurrency-4.0.2/oslo.concurrency.egg-info/PKG-INFO
new/oslo.concurrency-4.3.0/oslo.concurrency.egg-info/PKG-INFO
--- old/oslo.concurrency-4.0.2/oslo.concurrency.egg-info/PKG-INFO
2020-04-07 12:11:49.000000000 +0200
+++ new/oslo.concurrency-4.3.0/oslo.concurrency.egg-info/PKG-INFO
2020-09-11 21:24:27.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: oslo.concurrency
-Version: 4.0.2
+Version: 4.3.0
Summary: Oslo Concurrency library
Home-page: https://docs.openstack.org/oslo.concurrency/latest/
Author: OpenStack
@@ -44,6 +44,7 @@
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 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Requires-Python: >=3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.concurrency-4.0.2/oslo.concurrency.egg-info/SOURCES.txt
new/oslo.concurrency-4.3.0/oslo.concurrency.egg-info/SOURCES.txt
--- old/oslo.concurrency-4.0.2/oslo.concurrency.egg-info/SOURCES.txt
2020-04-07 12:11:49.000000000 +0200
+++ new/oslo.concurrency-4.3.0/oslo.concurrency.egg-info/SOURCES.txt
2020-09-11 21:24:27.000000000 +0200
@@ -8,7 +8,6 @@
HACKING.rst
LICENSE
README.rst
-babel.cfg
lower-constraints.txt
requirements.txt
setup.cfg
@@ -62,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/timeout-c3fb65acda04c1c7.yaml
releasenotes/source/conf.py
releasenotes/source/index.rst
releasenotes/source/newton.rst
@@ -72,6 +72,7 @@
releasenotes/source/stein.rst
releasenotes/source/train.rst
releasenotes/source/unreleased.rst
+releasenotes/source/ussuri.rst
releasenotes/source/_static/.placeholder
releasenotes/source/_templates/.placeholder
releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.concurrency-4.0.2/oslo.concurrency.egg-info/pbr.json
new/oslo.concurrency-4.3.0/oslo.concurrency.egg-info/pbr.json
--- old/oslo.concurrency-4.0.2/oslo.concurrency.egg-info/pbr.json
2020-04-07 12:11:49.000000000 +0200
+++ new/oslo.concurrency-4.3.0/oslo.concurrency.egg-info/pbr.json
2020-09-11 21:24:27.000000000 +0200
@@ -1 +1 @@
-{"git_version": "60a157a", "is_release": true}
\ No newline at end of file
+{"git_version": "2f78803", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.concurrency-4.0.2/oslo.concurrency.egg-info/requires.txt
new/oslo.concurrency-4.3.0/oslo.concurrency.egg-info/requires.txt
--- old/oslo.concurrency-4.0.2/oslo.concurrency.egg-info/requires.txt
2020-04-07 12:11:49.000000000 +0200
+++ new/oslo.concurrency-4.3.0/oslo.concurrency.egg-info/requires.txt
2020-09-11 21:24:27.000000000 +0200
@@ -1,6 +1,5 @@
-pbr!=2.1.0,>=2.0.0
+fasteners>=0.7.0
oslo.config>=5.2.0
oslo.i18n>=3.15.3
oslo.utils>=3.33.0
-six>=1.10.0
-fasteners>=0.7.0
+pbr!=2.1.0,>=2.0.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.concurrency-4.0.2/oslo_concurrency/locale/en_GB/LC_MESSAGES/oslo_concurrency.po
new/oslo.concurrency-4.3.0/oslo_concurrency/locale/en_GB/LC_MESSAGES/oslo_concurrency.po
---
old/oslo.concurrency-4.0.2/oslo_concurrency/locale/en_GB/LC_MESSAGES/oslo_concurrency.po
2020-04-07 12:10:50.000000000 +0200
+++
new/oslo.concurrency-4.3.0/oslo_concurrency/locale/en_GB/LC_MESSAGES/oslo_concurrency.po
2020-09-11 21:23:14.000000000 +0200
@@ -7,15 +7,16 @@
# Andi Chandler <[email protected]>, 2014-2015
# Andreas Jaeger <[email protected]>, 2016. #zanata
# Andi Chandler <[email protected]>, 2017. #zanata
+# Andi Chandler <[email protected]>, 2020. #zanata
msgid ""
msgstr ""
"Project-Id-Version: oslo.concurrency VERSION\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
-"POT-Creation-Date: 2018-02-23 11:40+0000\n"
+"POT-Creation-Date: 2020-04-27 10:22+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"PO-Revision-Date: 2017-07-11 05:04+0000\n"
+"PO-Revision-Date: 2020-04-27 08:12+0000\n"
"Last-Translator: Andi Chandler <[email protected]>\n"
"Language: en_GB\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -101,6 +102,9 @@
msgid "Running cmd (subprocess): %s"
msgstr "Running cmd (subprocess): %s"
+msgid "Specifying semaphores is not supported when using fair locks."
+msgstr "Specifying semaphores is not supported when using fair locks."
+
msgid "Unexpected error while running command."
msgstr "Unexpected error while running command."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.0.2/oslo_concurrency/lockutils.py
new/oslo.concurrency-4.3.0/oslo_concurrency/lockutils.py
--- old/oslo.concurrency-4.0.2/oslo_concurrency/lockutils.py 2020-04-07
12:10:50.000000000 +0200
+++ new/oslo.concurrency-4.3.0/oslo_concurrency/lockutils.py 2020-09-11
21:23:14.000000000 +0200
@@ -14,6 +14,7 @@
# under the License.
import contextlib
+import errno
import functools
import logging
import os
@@ -28,7 +29,6 @@
from oslo_config import cfg
from oslo_utils import reflection
from oslo_utils import timeutils
-import six
from oslo_concurrency._i18n import _
@@ -200,9 +200,10 @@
lock_file_path = _get_lock_path(name, lock_file_prefix, lock_path)
try:
os.remove(lock_file_path)
- except OSError:
- LOG.info('Failed to remove file %(file)s',
- {'file': lock_file_path})
+ except OSError as exc:
+ if exc.errno != errno.ENOENT:
+ LOG.warning('Failed to remove file %(file)s',
+ {'file': lock_file_path})
def internal_lock(name, semaphores=None):
@@ -342,7 +343,7 @@
def wrap(f):
- @six.wraps(f)
+ @functools.wraps(f)
def inner(*args, **kwargs):
t1 = timeutils.now()
t2 = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.0.2/oslo_concurrency/prlimit.py
new/oslo.concurrency-4.3.0/oslo_concurrency/prlimit.py
--- old/oslo.concurrency-4.0.2/oslo_concurrency/prlimit.py 2020-04-07
12:10:50.000000000 +0200
+++ new/oslo.concurrency-4.3.0/oslo_concurrency/prlimit.py 2020-09-11
21:23:14.000000000 +0200
@@ -13,8 +13,6 @@
# License for the specific language governing permissions and limitations
# under the License.
-from __future__ import print_function
-
import argparse
import os
import resource
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.concurrency-4.0.2/oslo_concurrency/processutils.py
new/oslo.concurrency-4.3.0/oslo_concurrency/processutils.py
--- old/oslo.concurrency-4.0.2/oslo_concurrency/processutils.py 2020-04-07
12:10:50.000000000 +0200
+++ new/oslo.concurrency-4.3.0/oslo_concurrency/processutils.py 2020-09-11
21:23:14.000000000 +0200
@@ -32,7 +32,6 @@
from oslo_utils import importutils
from oslo_utils import strutils
from oslo_utils import timeutils
-import six
from oslo_concurrency._i18n import _
@@ -266,11 +265,16 @@
prlimits. If this is not set it will default to use
sys.executable.
:type python_exec: string
+ :param timeout: Timeout (in seconds) to wait for the process
+ termination. If timeout is reached,
+ :class:`subprocess.TimeoutExpired` is raised.
+ :type timeout: int
:returns: (stdout, stderr) from process execution
:raises: :class:`UnknownArgumentError` on
receiving unknown arguments
:raises: :class:`ProcessExecutionError`
:raises: :class:`OSError`
+ :raises: :class:`subprocess.TimeoutExpired`
The *prlimit* parameter can be used to set resource limits on the child
process. If this parameter is used, the child process will be spawned by a
@@ -319,6 +323,7 @@
preexec_fn = kwargs.pop('preexec_fn', None)
prlimit = kwargs.pop('prlimit', None)
python_exec = kwargs.pop('python_exec', sys.executable)
+ timeout = kwargs.pop('timeout', None)
if isinstance(check_exit_code, bool):
ignore_exit_code = not check_exit_code
@@ -329,7 +334,7 @@
if kwargs:
raise UnknownArgumentError(_('Got unknown keyword args: %r') % kwargs)
- if isinstance(log_errors, six.integer_types):
+ if isinstance(log_errors, int):
log_errors = LogErrors(log_errors)
if not isinstance(log_errors, LogErrors):
raise InvalidArgumentError(_('Got invalid arg log_errors: %r') %
@@ -399,30 +404,35 @@
# we have to wrap this call using tpool.
if eventlet_patched and os.name == 'nt':
result = tpool.execute(obj.communicate,
- process_input)
+ process_input,
+ timeout=timeout)
else:
- result = obj.communicate(process_input)
+ result = obj.communicate(process_input,
+ timeout=timeout)
obj.stdin.close() # pylint: disable=E1101
_returncode = obj.returncode # pylint: disable=E1101
LOG.log(loglevel, 'CMD "%s" returned: %s in %0.3fs',
sanitized_cmd, _returncode, watch.elapsed())
+ except subprocess.TimeoutExpired:
+ LOG.log(loglevel, 'CMD "%s" reached timeout in %0.3fs',
+ sanitized_cmd, watch.elapsed())
+ raise
finally:
if on_completion:
on_completion(obj)
if not ignore_exit_code and _returncode not in check_exit_code:
(stdout, stderr) = result
- if six.PY3:
- stdout = os.fsdecode(stdout)
- stderr = os.fsdecode(stderr)
+ stdout = os.fsdecode(stdout)
+ stderr = os.fsdecode(stderr)
sanitized_stdout = strutils.mask_password(stdout)
sanitized_stderr = strutils.mask_password(stderr)
raise ProcessExecutionError(exit_code=_returncode,
stdout=sanitized_stdout,
stderr=sanitized_stderr,
cmd=sanitized_cmd)
- if six.PY3 and not binary and result is not None:
+ if not binary and result is not None:
(stdout, stderr) = result
# Decode from the locale using using the surrogateescape error
# handler (decoding cannot fail)
@@ -491,7 +501,7 @@
out, err = execute(*args, **kwargs)
failed = False
except ProcessExecutionError as exn:
- out, err = '', six.text_type(exn)
+ out, err = '', str(exn)
failed = True
if not failed and discard_warnings and err:
@@ -543,12 +553,11 @@
exit_status = channel.recv_exit_status()
- if six.PY3:
- # Decode from the locale using using the surrogateescape error handler
- # (decoding cannot fail). Decode even if binary is True because
- # mask_password() requires Unicode on Python 3
- stdout = os.fsdecode(stdout)
- stderr = os.fsdecode(stderr)
+ # Decode from the locale using using the surrogateescape error handler
+ # (decoding cannot fail). Decode even if binary is True because
+ # mask_password() requires Unicode on Python 3
+ stdout = os.fsdecode(stdout)
+ stderr = os.fsdecode(stderr)
if sanitize_stdout:
stdout = strutils.mask_password(stdout)
@@ -570,19 +579,9 @@
cmd=sanitized_cmd)
if binary:
- if six.PY2:
- # On Python 2, stdout is a bytes string if mask_password() failed
- # to decode it, or an Unicode string otherwise. Encode to the
- # default encoding (ASCII) because mask_password() decodes from
- # the same encoding.
- if isinstance(stdout, six.text_type):
- stdout = stdout.encode()
- if isinstance(stderr, six.text_type):
- stderr = stderr.encode()
- else:
- # fsencode() is the reverse operation of fsdecode()
- stdout = os.fsencode(stdout)
- stderr = os.fsencode(stderr)
+ # fsencode() is the reverse operation of fsdecode()
+ stdout = os.fsencode(stdout)
+ stderr = os.fsencode(stderr)
return (stdout, stderr)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.concurrency-4.0.2/oslo_concurrency/tests/__init__.py
new/oslo.concurrency-4.3.0/oslo_concurrency/tests/__init__.py
--- old/oslo.concurrency-4.0.2/oslo_concurrency/tests/__init__.py
2020-04-07 12:10:50.000000000 +0200
+++ new/oslo.concurrency-4.3.0/oslo_concurrency/tests/__init__.py
2020-09-11 21:23:14.000000000 +0200
@@ -17,3 +17,9 @@
if os.environ.get('TEST_EVENTLET'):
import eventlet
eventlet.monkey_patch()
+ # Monkey patch the original current_thread to use the up-to-date _active
+ # global variable. See https://bugs.launchpad.net/bugs/1863021 and
+ # https://github.com/eventlet/eventlet/issues/592
+ import __original_module_threading as orig_threading # noqa
+ import threading # noqa
+ orig_threading.current_thread.__globals__['_active'] = threading._active
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.concurrency-4.0.2/oslo_concurrency/tests/unit/test_lockutils.py
new/oslo.concurrency-4.3.0/oslo_concurrency/tests/unit/test_lockutils.py
--- old/oslo.concurrency-4.0.2/oslo_concurrency/tests/unit/test_lockutils.py
2020-04-07 12:10:50.000000000 +0200
+++ new/oslo.concurrency-4.3.0/oslo_concurrency/tests/unit/test_lockutils.py
2020-09-11 21:23:14.000000000 +0200
@@ -13,6 +13,7 @@
# under the License.
import collections
+import errno
import multiprocessing
import os
import signal
@@ -25,7 +26,6 @@
from oslo_config import cfg
from oslotest import base as test_base
-import six
from oslo_concurrency.fixture import lockutils as fixtures
from oslo_concurrency import lockutils
@@ -278,10 +278,7 @@
# Note(flaper87): Lock is not external, which means
# a semaphore will be yielded
with lockutils.lock("test") as sem:
- if six.PY2:
- self.assertIsInstance(sem, threading._Semaphore)
- else:
- self.assertIsInstance(sem, threading.Semaphore)
+ self.assertIsInstance(sem, threading.Semaphore)
# NOTE(flaper87): Lock is external so an InterProcessLock
# will be yielded.
@@ -295,10 +292,7 @@
self.config(lock_path=tempfile.mkdtemp(), group='oslo_concurrency')
with lockutils.lock("test") as sem:
- if six.PY2:
- self.assertIsInstance(sem, threading._Semaphore)
- else:
- self.assertIsInstance(sem, threading.Semaphore)
+ self.assertIsInstance(sem, threading.Semaphore)
with lockutils.lock("test2", external=True) as lock:
self.assertTrue(lock.exists())
@@ -327,14 +321,28 @@
remove_mock.assert_called_once_with(path_mock.return_value)
log_mock.assert_not_called()
- @mock.patch('logging.Logger.info')
- @mock.patch('os.remove', side_effect=OSError)
+ @mock.patch('logging.Logger.warning')
+ @mock.patch('os.remove', side_effect=OSError(errno.ENOENT, None))
@mock.patch('oslo_concurrency.lockutils._get_lock_path')
def test_remove_lock_external_file_doesnt_exists(self, path_mock,
remove_mock, log_mock):
lockutils.remove_external_lock_file(mock.sentinel.name,
mock.sentinel.prefix,
mock.sentinel.lock_path)
+ path_mock.assert_called_once_with(mock.sentinel.name,
+ mock.sentinel.prefix,
+ mock.sentinel.lock_path)
+ remove_mock.assert_called_once_with(path_mock.return_value)
+ log_mock.assert_not_called()
+
+ @mock.patch('logging.Logger.warning')
+ @mock.patch('os.remove', side_effect=OSError(errno.EPERM, None))
+ @mock.patch('oslo_concurrency.lockutils._get_lock_path')
+ def test_remove_lock_external_file_permission_error(
+ self, path_mock, remove_mock, log_mock):
+ lockutils.remove_external_lock_file(mock.sentinel.name,
+ mock.sentinel.prefix,
+ mock.sentinel.lock_path)
path_mock.assert_called_once_with(mock.sentinel.name,
mock.sentinel.prefix,
mock.sentinel.lock_path)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.concurrency-4.0.2/oslo_concurrency/tests/unit/test_processutils.py
new/oslo.concurrency-4.3.0/oslo_concurrency/tests/unit/test_processutils.py
--- old/oslo.concurrency-4.0.2/oslo_concurrency/tests/unit/test_processutils.py
2020-04-07 12:10:50.000000000 +0200
+++ new/oslo.concurrency-4.3.0/oslo_concurrency/tests/unit/test_processutils.py
2020-09-11 21:23:14.000000000 +0200
@@ -13,9 +13,8 @@
# License for the specific language governing permissions and limitations
# under the License.
-from __future__ import print_function
-
import errno
+import io
import logging
import multiprocessing
import os
@@ -26,11 +25,11 @@
import subprocess
import sys
import tempfile
+import time
from unittest import mock
import fixtures
from oslotest import base as test_base
-import six
from oslo_concurrency import processutils
@@ -89,7 +88,7 @@
on_execute_callback = mock.Mock()
on_completion_callback = mock.Mock()
- def fake_communicate(*args):
+ def fake_communicate(*args, timeout=None):
raise IOError("Broken pipe")
mock_comm.side_effect = fake_communicate
@@ -112,17 +111,11 @@
processutils.execute(TRUE_UTILITY)
- if six.PY2:
- self.assertRaises(processutils.InvalidArgumentError,
- processutils.execute,
- TRUE_UTILITY,
- preexec_fn=preexec_fn)
- else:
- try:
- processutils.execute(TRUE_UTILITY, preexec_fn=preexec_fn)
- except Exception as e:
- if type(e).__name__ != 'SubprocessError':
- raise
+ try:
+ processutils.execute(TRUE_UTILITY, preexec_fn=preexec_fn)
+ except Exception as e:
+ if type(e).__name__ != 'SubprocessError':
+ raise
@mock.patch.object(os, 'name', 'nt')
@mock.patch.object(processutils.subprocess, "Popen")
@@ -153,9 +146,9 @@
if use_eventlet:
mock_tpool.execute.assert_called_once_with(
- mock_comm, fake_pinput)
+ mock_comm, fake_pinput, timeout=None)
else:
- mock_comm.assert_called_once_with(fake_pinput)
+ mock_comm.assert_called_once_with(fake_pinput, timeout=None)
def test_windows_execute_without_eventlet(self):
self._test_windows_execute()
@@ -168,23 +161,23 @@
def test_defaults(self):
err = processutils.ProcessExecutionError()
- self.assertIn('None\n', six.text_type(err))
- self.assertIn('code: -\n', six.text_type(err))
+ self.assertIn('None\n', str(err))
+ self.assertIn('code: -\n', str(err))
def test_with_description(self):
description = 'The Narwhal Bacons at Midnight'
err = processutils.ProcessExecutionError(description=description)
- self.assertIn(description, six.text_type(err))
+ self.assertIn(description, str(err))
def test_with_exit_code(self):
exit_code = 0
err = processutils.ProcessExecutionError(exit_code=exit_code)
- self.assertIn(str(exit_code), six.text_type(err))
+ self.assertIn(str(exit_code), str(err))
def test_with_cmd(self):
cmd = 'telinit'
err = processutils.ProcessExecutionError(cmd=cmd)
- self.assertIn(cmd, six.text_type(err))
+ self.assertIn(cmd, str(err))
def test_with_stdout(self):
stdout = """
@@ -207,13 +200,13 @@
the Wielder of Wonder, with world's renown.
""".strip()
err = processutils.ProcessExecutionError(stdout=stdout)
- print(six.text_type(err))
- self.assertIn('people-kings', six.text_type(err))
+ print(str(err))
+ self.assertIn('people-kings', str(err))
def test_with_stderr(self):
stderr = 'Cottonian library'
err = processutils.ProcessExecutionError(stderr=stderr)
- self.assertIn(stderr, six.text_type(err))
+ self.assertIn(stderr, str(err))
def test_retry_on_failure(self):
fd, tmpfilename = tempfile.mkstemp()
@@ -446,8 +439,8 @@
'something')
self.assertEqual(38, err.exit_code)
- self.assertIsInstance(err.stdout, six.text_type)
- self.assertIsInstance(err.stderr, six.text_type)
+ self.assertIsInstance(err.stdout, str)
+ self.assertIsInstance(err.stderr, str)
self.assertIn('onstdout --password="***"', err.stdout)
self.assertIn('onstderr --password="***"', err.stderr)
self.assertEqual(' '.join([tmpfilename,
@@ -458,20 +451,12 @@
def execute_undecodable_bytes(self, out_bytes, err_bytes,
exitcode=0, binary=False):
- if six.PY3:
- code = ';'.join(('import sys',
- 'sys.stdout.buffer.write(%a)' % out_bytes,
- 'sys.stdout.flush()',
- 'sys.stderr.buffer.write(%a)' % err_bytes,
- 'sys.stderr.flush()',
- 'sys.exit(%s)' % exitcode))
- else:
- code = ';'.join(('import sys',
- 'sys.stdout.write(%r)' % out_bytes,
- 'sys.stdout.flush()',
- 'sys.stderr.write(%r)' % err_bytes,
- 'sys.stderr.flush()',
- 'sys.exit(%s)' % exitcode))
+ code = ';'.join(('import sys',
+ 'sys.stdout.buffer.write(%a)' % out_bytes,
+ 'sys.stdout.flush()',
+ 'sys.stderr.buffer.write(%a)' % err_bytes,
+ 'sys.stderr.flush()',
+ 'sys.exit(%s)' % exitcode))
return processutils.execute(sys.executable, '-c', code, binary=binary)
@@ -480,7 +465,7 @@
err_bytes = b'err: ' + UNDECODABLE_BYTES
out, err = self.execute_undecodable_bytes(out_bytes, err_bytes,
binary=binary)
- if six.PY3 and not binary:
+ if not binary:
self.assertEqual(os.fsdecode(out_bytes), out)
self.assertEqual(os.fsdecode(err_bytes), err)
else:
@@ -505,16 +490,8 @@
err = exc.stderr
out_bytes = b'out: password="***" ' + UNDECODABLE_BYTES
err_bytes = b'err: password="***" ' + UNDECODABLE_BYTES
- if six.PY3:
- # On Python 3, stdout and stderr attributes of
- # ProcessExecutionError must always be Unicode
- self.assertEqual(os.fsdecode(out_bytes), out)
- self.assertEqual(os.fsdecode(err_bytes), err)
- else:
- # On Python 2, stdout and stderr attributes of
- # ProcessExecutionError must always be bytes
- self.assertEqual(out_bytes, out)
- self.assertEqual(err_bytes, err)
+ self.assertEqual(os.fsdecode(out_bytes), out)
+ self.assertEqual(os.fsdecode(err_bytes), err)
def test_undecodable_bytes_error(self):
self.check_undecodable_bytes_error(False)
@@ -537,6 +514,19 @@
self.assertEqual('my description', exc.description)
self.assertEqual(str(exc), exc_message)
+ def test_timeout(self):
+ start = time.time()
+ # FIXME(dtantsur): I'm not sure what fancy mocking is happening in unit
+ # tests here, but I cannot check for a more precise exception because
+ # subprocess.TimeoutException != subprocess.TimeoutException.
+ # Checking the error message instead.
+ self.assertRaisesRegex(Exception,
+ 'timed out after 1 seconds',
+ processutils.execute,
+ '/usr/bin/env', 'sh', '-c', 'sleep 10',
+ timeout=1)
+ self.assertLess(time.time(), start + 5)
+
class ProcessExecutionErrorLoggingTest(test_base.BaseTestCase):
def setUp(self):
@@ -642,7 +632,7 @@
return self.rc
-class FakeSshStream(six.BytesIO):
+class FakeSshStream(io.BytesIO):
def setup_channel(self, rc):
self.channel = FakeSshChannel(rc)
@@ -658,9 +648,9 @@
raise socket.timeout()
stdout = FakeSshStream(self.out)
stdout.setup_channel(self.rc)
- return (six.BytesIO(),
+ return (io.BytesIO(),
stdout,
- six.BytesIO(self.err))
+ io.BytesIO(self.err))
class SshExecuteTestCase(test_base.BaseTestCase):
@@ -684,8 +674,8 @@
out, err = processutils.ssh_execute(FakeSshConnection(0), 'ls')
self.assertEqual('stdout', out)
self.assertEqual('stderr', err)
- self.assertIsInstance(out, six.text_type)
- self.assertIsInstance(err, six.text_type)
+ self.assertIsInstance(out, str)
+ self.assertIsInstance(err, str)
def test_binary(self):
o, e = processutils.ssh_execute(FakeSshConnection(0), 'ls',
@@ -701,7 +691,7 @@
conn = FakeSshConnection(0, out=out_bytes, err=err_bytes)
out, err = processutils.ssh_execute(conn, 'ls', binary=binary)
- if six.PY3 and not binary:
+ if not binary:
self.assertEqual(os.fsdecode(out_bytes), out)
self.assertEqual(os.fsdecode(err_bytes), err)
else:
@@ -729,16 +719,8 @@
out = exc.stdout
err = exc.stderr
- if six.PY3:
- # On Python 3, stdout and stderr attributes of
- # ProcessExecutionError must always be Unicode
- self.assertEqual(os.fsdecode(out_bytes), out)
- self.assertEqual(os.fsdecode(err_bytes), err)
- else:
- # On Python 2, stdout and stderr attributes of
- # ProcessExecutionError must always be bytes
- self.assertEqual(out_bytes, out)
- self.assertEqual(err_bytes, err)
+ self.assertEqual(os.fsdecode(out_bytes), out)
+ self.assertEqual(os.fsdecode(err_bytes), err)
def test_undecodable_bytes_error(self):
self.check_undecodable_bytes_error(False)
@@ -752,7 +734,7 @@
def _test_compromising_ssh(self, rc, check):
fixture = self.useFixture(fixtures.FakeLogger(level=logging.DEBUG))
- fake_stdin = six.BytesIO()
+ fake_stdin = io.BytesIO()
fake_stdout = mock.Mock()
fake_stdout.channel.recv_exit_status.return_value = rc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.concurrency-4.0.2/releasenotes/notes/timeout-c3fb65acda04c1c7.yaml
new/oslo.concurrency-4.3.0/releasenotes/notes/timeout-c3fb65acda04c1c7.yaml
--- old/oslo.concurrency-4.0.2/releasenotes/notes/timeout-c3fb65acda04c1c7.yaml
1970-01-01 01:00:00.000000000 +0100
+++ new/oslo.concurrency-4.3.0/releasenotes/notes/timeout-c3fb65acda04c1c7.yaml
2020-09-11 21:23:14.000000000 +0200
@@ -0,0 +1,5 @@
+---
+features:
+ - |
+ Adds a new ``timeout`` argument to ``processutils.execute``. If set,
+ the process will be aborted if it runs more than ``timeout`` seconds.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.0.2/releasenotes/source/conf.py
new/oslo.concurrency-4.3.0/releasenotes/source/conf.py
--- old/oslo.concurrency-4.0.2/releasenotes/source/conf.py 2020-04-07
12:10:50.000000000 +0200
+++ new/oslo.concurrency-4.3.0/releasenotes/source/conf.py 2020-09-11
21:23:14.000000000 +0200
@@ -40,9 +40,9 @@
]
# openstackdocstheme options
-repository_name = 'openstack/oslo.config'
-bug_project = 'oslo.config'
-bug_tag = ''
+openstackdocs_repo_name = 'openstack/oslo.config'
+openstackdocs_bug_project = 'oslo.config'
+openstackdocs_bug_tag = ''
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
@@ -96,7 +96,7 @@
# show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
+pygments_style = 'native'
# A list of ignored prefixes for module index sorting.
# modindex_common_prefix = []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.0.2/releasenotes/source/index.rst
new/oslo.concurrency-4.3.0/releasenotes/source/index.rst
--- old/oslo.concurrency-4.0.2/releasenotes/source/index.rst 2020-04-07
12:10:50.000000000 +0200
+++ new/oslo.concurrency-4.3.0/releasenotes/source/index.rst 2020-09-11
21:23:14.000000000 +0200
@@ -6,6 +6,7 @@
:maxdepth: 1
unreleased
+ ussuri
train
stein
rocky
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.concurrency-4.0.2/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
new/oslo.concurrency-4.3.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
---
old/oslo.concurrency-4.0.2/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
2020-04-07 12:10:50.000000000 +0200
+++
new/oslo.concurrency-4.3.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
2020-09-11 21:23:14.000000000 +0200
@@ -1,15 +1,16 @@
# Andi Chandler <[email protected]>, 2016. #zanata
# Andi Chandler <[email protected]>, 2017. #zanata
# Andi Chandler <[email protected]>, 2018. #zanata
+# Andi Chandler <[email protected]>, 2020. #zanata
msgid ""
msgstr ""
"Project-Id-Version: oslo.concurrency\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-08-27 12:03+0000\n"
+"POT-Creation-Date: 2020-07-01 10:57+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"PO-Revision-Date: 2018-09-16 09:03+0000\n"
+"PO-Revision-Date: 2020-07-09 08:16+0000\n"
"Last-Translator: Andi Chandler <[email protected]>\n"
"Language-Team: English (United Kingdom)\n"
"Language: en_GB\n"
@@ -22,6 +23,15 @@
msgid "3.25.0"
msgstr "3.25.0"
+msgid "3.29.0"
+msgstr "3.29.0"
+
+msgid "4.0.0"
+msgstr "4.0.0"
+
+msgid "4.2.0"
+msgstr "4.2.0"
+
msgid ""
"A new kwarg, ``python_exec`` is added to the execute() function in the "
"processutils module. This option is used to specify the path to the python "
@@ -31,6 +41,13 @@
"processutils module. This option is used to specify the path to the Python "
"executable to use for prlimits enforcement."
+msgid ""
+"Adds a new ``timeout`` argument to ``processutils.execute``. If set, the "
+"process will be aborted if it runs more than ``timeout`` seconds."
+msgstr ""
+"Adds a new ``timeout`` argument to ``processutils.execute``. If set, the "
+"process will be aborted if it runs more than ``timeout`` seconds."
+
msgid "New Features"
msgstr "New Features"
@@ -46,17 +63,65 @@
msgid "Pike Series Release Notes"
msgstr "Pike Series Release Notes"
+msgid "Prelude"
+msgstr "Prelude"
+
+msgid ""
+"Python 2.7 is no longer supported. The minimum supported version of Python "
+"is now Python 3.6."
+msgstr ""
+"Python 2.7 is no longer supported. The minimum supported version of Python "
+"is now Python 3.6."
+
msgid "Queens Series Release Notes"
msgstr "Queens Series Release Notes"
msgid "Rocky Series Release Notes"
msgstr "Rocky Series Release Notes"
+msgid "Stein Series Release Notes"
+msgstr "Stein Series Release Notes"
+
msgid "Switch to reno for managing release notes."
msgstr "Switch to reno for managing release notes."
+msgid ""
+"This release includes optional support for fair locks. When fair locks are "
+"specified, blocking waiters will acquire the lock in the order that they "
+"blocked."
+msgstr ""
+"This release includes optional support for fair locks. When fair locks are "
+"specified, blocking waiters will acquire the lock in the order that they "
+"blocked."
+
+msgid "Train Series Release Notes"
+msgstr "Train Series Release Notes"
+
msgid "Unreleased Release Notes"
msgstr "Unreleased Release Notes"
+msgid "Upgrade Notes"
+msgstr "Upgrade Notes"
+
+msgid "Ussuri Series Release Notes"
+msgstr "Ussuri 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 "
+"blocked. This can be useful to ensure that existing blocked waiters do not "
+"wait indefinitely in the face of large numbers of new attempts to acquire "
+"the lock. When specifying locks as both ``external`` and ``fair``, the "
+"ordering *within* a given process will be fair, but the ordering *between* "
+"processes will be determined by the behaviour of the underlying OS."
+msgstr ""
+"We now have optional support for ``fair`` locks. When fair locks are "
+"specified, blocking waiters will acquire the lock in the order that they "
+"blocked. This can be useful to ensure that existing blocked waiters do not "
+"wait indefinitely in the face of large numbers of new attempts to acquire "
+"the lock. When specifying locks as both ``external`` and ``fair``, the "
+"ordering *within* a given process will be fair, but the ordering *between* "
+"processes will be determined by the behaviour of the underlying OS."
+
msgid "oslo.concurrency Release Notes"
msgstr "oslo.concurrency Release Notes"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.concurrency-4.0.2/releasenotes/source/ussuri.rst
new/oslo.concurrency-4.3.0/releasenotes/source/ussuri.rst
--- old/oslo.concurrency-4.0.2/releasenotes/source/ussuri.rst 1970-01-01
01:00:00.000000000 +0100
+++ new/oslo.concurrency-4.3.0/releasenotes/source/ussuri.rst 2020-09-11
21:23:14.000000000 +0200
@@ -0,0 +1,6 @@
+===========================
+Ussuri Series Release Notes
+===========================
+
+.. release-notes::
+ :branch: stable/ussuri
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.0.2/requirements.txt
new/oslo.concurrency-4.3.0/requirements.txt
--- old/oslo.concurrency-4.0.2/requirements.txt 2020-04-07 12:10:50.000000000
+0200
+++ new/oslo.concurrency-4.3.0/requirements.txt 2020-09-11 21:23:14.000000000
+0200
@@ -6,5 +6,4 @@
oslo.config>=5.2.0 # Apache-2.0
oslo.i18n>=3.15.3 # Apache-2.0
oslo.utils>=3.33.0 # Apache-2.0
-six>=1.10.0 # MIT
fasteners>=0.7.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.0.2/setup.cfg
new/oslo.concurrency-4.3.0/setup.cfg
--- old/oslo.concurrency-4.0.2/setup.cfg 2020-04-07 12:11:49.000000000
+0200
+++ new/oslo.concurrency-4.3.0/setup.cfg 2020-09-11 21:24:27.000000000
+0200
@@ -17,6 +17,7 @@
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
+ Programming Language :: Python :: 3.8
Programming Language :: Python :: 3 :: Only
Programming Language :: Python :: Implementation :: CPython
@@ -30,20 +31,6 @@
console_scripts =
lockutils-wrapper = oslo_concurrency.lockutils:main
-[compile_catalog]
-directory = oslo_concurrency/locale
-domain = oslo_concurrency
-
-[update_catalog]
-domain = oslo_concurrency
-output_dir = oslo_concurrency/locale
-input_file = oslo_concurrency/locale/oslo_concurrency.pot
-
-[extract_messages]
-keywords = _ gettext ngettext l_ lazy_gettext
-mapping_file = babel.cfg
-output_file = oslo_concurrency/locale/oslo_concurrency.pot
-
[egg_info]
tag_build =
tag_date = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.0.2/test-requirements.txt
new/oslo.concurrency-4.3.0/test-requirements.txt
--- old/oslo.concurrency-4.0.2/test-requirements.txt 2020-04-07
12:10:50.000000000 +0200
+++ new/oslo.concurrency-4.3.0/test-requirements.txt 2020-09-11
21:23:14.000000000 +0200
@@ -2,12 +2,12 @@
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
-hacking>=3.0,<3.1.0 # Apache-2.0
+hacking>=3.0.1,<3.1.0 # Apache-2.0
oslotest>=3.2.0 # Apache-2.0
coverage!=4.4,>=4.0 # Apache-2.0
fixtures>=3.0.0 # Apache-2.0/BSD
stestr>=2.0.0 # Apache-2.0
-eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT
+eventlet>=0.19.0 # MIT
# Bandit security code scanner
-bandit>=1.1.0,<1.6.0 # Apache-2.0
+bandit>=1.6.0,<1.7.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.concurrency-4.0.2/tox.ini
new/oslo.concurrency-4.3.0/tox.ini
--- old/oslo.concurrency-4.0.2/tox.ini 2020-04-07 12:10:50.000000000 +0200
+++ new/oslo.concurrency-4.3.0/tox.ini 2020-09-11 21:23:14.000000000 +0200
@@ -1,6 +1,6 @@
[tox]
minversion = 3.2.0
-envlist = py37,pep8
+envlist = py38,pep8
ignore_basepython_conflict = True
[testenv]