Hello community,
here is the log from the commit of package python-oslo.concurrency for
openSUSE:Factory checked in at 2016-09-30 15:35:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oslo.concurrency (Old)
and /work/SRC/openSUSE:Factory/.python-oslo.concurrency.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-oslo.concurrency"
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-oslo.concurrency/python-oslo.concurrency.changes
2016-05-04 08:20:04.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.python-oslo.concurrency.new/python-oslo.concurrency.changes
2016-09-30 15:35:36.000000000 +0200
@@ -1,0 +2,44 @@
+Tue Aug 30 16:22:27 UTC 2016 - [email protected]
+
+- update to version 3.14.0
+ * Fix external lock tests on Windows
+ * Updated from global requirements
+
+-------------------------------------------------------------------
+Wed Aug 10 14:35:56 UTC 2016 - [email protected]
+
+- update to version 3.13.0
+ * Add Python 3.5 classifier and venv
+ * Imported Translations from Zanata
+ * Fix parameters of assertEqual are misplaced
+ * Updated from global requirements
+ * Add reno for releasenotes management
+
+-------------------------------------------------------------------
+Fri Jun 3 13:17:59 UTC 2016 - [email protected]
+
+- update to 3.9.0:
+ * Add doc/ to pep8 check
+ * Remove unused import statement
+ * Add timeout option to ssh_execute
+ * Fix wrong import example in docstring
+ * Trivial: ignore openstack/common in flake8 exclude list
+ * Updated from global requirements
+ * Imported Translations from Zanata
+ * processutils: add support for missing process limits
+ * Remove direct dependency on babel
+ * Updated from global requirements
+ * Updated from global requirements
+ * Updated from global requirements
+ * Add a few usage examples for lockutils
+ * Revert "Use tempfile.tempdir for lock_path if OSLO_LOCK_PATH is not set"
+ * Updated from global requirements
+ * Use tempfile.tempdir for lock_path if OSLO_LOCK_PATH is not set
+
+-------------------------------------------------------------------
+Thu Jun 2 08:55:41 UTC 2016 - [email protected]
+
+- use renderspec source service
+- update spec from upstream
+
+-------------------------------------------------------------------
Old:
----
oslo.concurrency-3.7.0.tar.gz
New:
----
oslo.concurrency-3.14.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-oslo.concurrency.spec ++++++
--- /var/tmp/diff_new_pack.vEcZCL/_old 2016-09-30 15:35:38.000000000 +0200
+++ /var/tmp/diff_new_pack.vEcZCL/_new 2016-09-30 15:35:38.000000000 +0200
@@ -16,87 +16,87 @@
#
-%define version_unconverted 3.7.0
-
+%global sname oslo.concurrency
Name: python-oslo.concurrency
-Version: 3.7.0
+Version: 3.14.0
Release: 0
-Summary: OpenStack Oslo concurrency library
+Summary: OpenStack oslo.concurrency library
License: Apache-2.0
Group: Development/Languages/Python
-Url: http://launchpad.net/oslo
-Source:
https://pypi.python.org/packages/source/o/oslo.concurrency/oslo.concurrency-%{version}.tar.gz
-BuildRequires: openstack-suse-macros
+Url: https://launchpad.net/%{sname}
+Source0:
https://pypi.io/packages/source/o/%{sname}/%{sname}-%{version}.tar.gz
+BuildRequires: openstack-macros
BuildRequires: python-devel
BuildRequires: python-enum34
-BuildRequires: python-eventlet
-BuildRequires: python-fasteners
-BuildRequires: python-fixtures
-BuildRequires: python-futures
-BuildRequires: python-mock
-BuildRequires: python-oslo.config
-BuildRequires: python-oslo.utils
-BuildRequires: python-oslosphinx
-BuildRequires: python-oslotest
-BuildRequires: python-pbr
-BuildRequires: python-retrying
-BuildRequires: python-setuptools
-BuildRequires: python-sphinx
-BuildRequires: python-testrepository
-Requires: python-Babel >= 1.3
+BuildRequires: python-eventlet >= 0.18.2
+BuildRequires: python-fasteners >= 0.7
+BuildRequires: python-fixtures >= 3.0.0
+BuildRequires: python-futures >= 3.0
+BuildRequires: python-mock >= 2.0
+BuildRequires: python-oslo.config >= 3.14.0
+BuildRequires: python-oslo.i18n >= 2.1.0
+BuildRequires: python-oslo.utils >= 3.16.0
+BuildRequires: python-oslotest >= 1.10.0
+BuildRequires: python-pbr >= 1.6
+BuildRequires: python-testrepository >= 0.0.18
+BuildRequires: python-testscenarios >= 0.4
+BuildRequires: python-testtools >= 1.4.0
Requires: python-enum34
Requires: python-fasteners >= 0.7
-Requires: python-iso8601 >= 0.1.9
-Requires: python-oslo.config >= 3.7.0
+Requires: python-iso8601 >= 0.1.11
+Requires: python-oslo.config >= 3.14.0
Requires: python-oslo.i18n >= 2.1.0
-Requires: python-oslo.utils >= 3.5.0
+Requires: python-oslo.utils >= 3.16.0
Requires: python-retrying >= 1.2.3
Requires: python-six >= 1.9.0
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%description
-Oslo concurrency library has utilities for safely running multi-thread,
+The oslo.concurrency library has utilities for safely running multi-thread,
multi-process applications using locking mechanisms and for running
external processes.
%package doc
-Summary: Documentation for the Oslo concurrency library
-Group: Documentation
-
+Summary: Documentation for OpenStack concurrency library
+Group: Development/Languages/Python
+BuildRequires: python-Sphinx
BuildRequires: python-oslosphinx >= 2.5.0
-BuildRequires: python-sphinx
%description doc
-Documentation for the Oslo concurrency library.
+The oslo.concurrency library has utilities for safely running multi-thread,
+multi-process applications using locking mechanisms and for running
+external processes.
+This package contains the documentation.
%prep
-%setup -q -n oslo.concurrency-%{version}
+%setup -q -n %{sname}-%{version}
%build
-%{__python2} setup.py build
+%{py2_build}
# generate html docs
-sphinx-build doc/source html
+%{__python2} setup.py build_sphinx
# remove the sphinx-build leftovers
-rm -rf html/.{doctrees,buildinfo}
+rm -rf doc/build/html/.{doctrees,buildinfo}
%install
-%{__python2} setup.py install --skip-build --root %{buildroot}
+%{py2_install}
%check
-%if "%_lib" == "lib64"
-testr init
-testr run --parallel
-%endif
+# Test suite fails on 32 bit platforms
+if [ "%_lib" = "lib64" ]; then
+%{__python2} setup.py testr
+fi
%files
-%defattr(-,root,root,-)
-%doc README.rst ChangeLog LICENSE AUTHORS
-%{python2_sitelib}/*
+%license LICENSE
+%doc README.rst ChangeLog
%_bindir/lockutils-wrapper
+%{python2_sitelib}/oslo_concurrency
+%{python2_sitelib}/*.egg-info
%files doc
-%doc html
+%license LICENSE
+%doc doc/build/html
%changelog
++++++ _service ++++++
--- /var/tmp/diff_new_pack.vEcZCL/_old 2016-09-30 15:35:38.000000000 +0200
+++ /var/tmp/diff_new_pack.vEcZCL/_new 2016-09-30 15:35:38.000000000 +0200
@@ -1,15 +1,13 @@
<services>
+ <service mode="disabled" name="renderspec">
+ <param
name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/master/openstack/oslo.concurrency/oslo.concurrency.spec.j2</param>
+ <param name="output-name">python-oslo.concurrency.spec</param>
+ <param
name="requirements">https://raw.githubusercontent.com/openstack/rpm-packaging/master/global-requirements.txt</param>
+ </service>
<service mode="disabled" name="download_files">
<param name="changesgenerate">enable</param>
</service>
- <service mode="disabled" name="set_version">
- <param name="basename">oslo.concurrency</param>
- </service>
- <service mode="disabled" name="python_requires">
- </service>
<service name="refresh_patches" mode="disabled">
<param name="changesgenerate">enable</param>
</service>
- <service name="python_requires" mode="disabled">
- </service>
</services>
++++++ oslo.concurrency-3.7.0.tar.gz -> oslo.concurrency-3.14.0.tar.gz ++++++
++++ 1686 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/AUTHORS new/oslo.concurrency-3.14.0/AUTHORS
--- old/oslo.concurrency-3.7.0/AUTHORS 2016-03-28 05:06:57.000000000 +0200
+++ new/oslo.concurrency-3.14.0/AUTHORS 2016-08-18 19:59:40.000000000 +0200
@@ -22,6 +22,7 @@
Davanum Srinivas <[email protected]>
Davanum Srinivas <[email protected]>
David Ripton <[email protected]>
+Denis Buliga <[email protected]>
Dina Belova <[email protected]>
Dirk Mueller <[email protected]>
Doug Hellmann <[email protected]>
@@ -43,7 +44,9 @@
Johannes Erdfelt <[email protected]>
Joshua Harlow <[email protected]>
Joshua Harlow <[email protected]>
+Joshua Harlow <[email protected]>
Julien Danjou <[email protected]>
+Kirill Bespalov <[email protected]>
Mark McLoughlin <[email protected]>
Matt Riedemann <[email protected]>
Matthew Treinish <[email protected]>
@@ -57,6 +60,7 @@
Russell Bryant <[email protected]>
Salvatore Orlando <[email protected]>
Sean Dague <[email protected]>
+Sean M. Collins <[email protected]>
Sergey Kraynev <[email protected]>
Sergey Lukjanov <[email protected]>
Shawn Boyette <[email protected]>
@@ -74,3 +78,5 @@
Zhongyue Luo <[email protected]>
jichenjc <[email protected]>
vponomaryov <[email protected]>
+yanheven <[email protected]>
+zhangsong <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/ChangeLog new/oslo.concurrency-3.14.0/ChangeLog
--- old/oslo.concurrency-3.7.0/ChangeLog 2016-03-28 05:06:57.000000000
+0200
+++ new/oslo.concurrency-3.14.0/ChangeLog 2016-08-18 19:59:40.000000000
+0200
@@ -1,11 +1,61 @@
CHANGES
=======
-3.7.0
+3.14.0
+------
+
+* Updated from global requirements
+* Fix external lock tests on Windows
+
+3.13.0
+------
+
+* Updated from global requirements
+* Fix parameters of assertEqual are misplaced
+* Add Python 3.5 classifier and venv
+
+3.12.0
+------
+
+* Updated from global requirements
+* Imported Translations from Zanata
+* Updated from global requirements
+
+3.11.0
+------
+
+* Imported Translations from Zanata
+
+3.10.0
+------
+
+* Imported Translations from Zanata
+* Updated from global requirements
+* Add reno for releasenotes management
+
+3.9.0
-----
+* Add doc/ to pep8 check
+* Remove unused import statement
+* Add timeout option to ssh_execute
+* Fix wrong import example in docstring
+* Trivial: ignore openstack/common in flake8 exclude list
+
+3.8.0
+-----
+
+* Updated from global requirements
+* Imported Translations from Zanata
+* processutils: add support for missing process limits
+* Remove direct dependency on babel
+* Updated from global requirements
+* Updated from global requirements
+* Updated from global requirements
+* Add a few usage examples for lockutils
+* Revert "Use tempfile.tempdir for lock_path if OSLO_LOCK_PATH is not set"
* Updated from global requirements
-* Update .gitreview for stable/mitaka
+* Use tempfile.tempdir for lock_path if OSLO_LOCK_PATH is not set
3.6.0
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/PKG-INFO new/oslo.concurrency-3.14.0/PKG-INFO
--- old/oslo.concurrency-3.7.0/PKG-INFO 2016-03-28 05:06:57.000000000 +0200
+++ new/oslo.concurrency-3.14.0/PKG-INFO 2016-08-18 19:59:41.000000000
+0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: oslo.concurrency
-Version: 3.7.0
+Version: 3.14.0
Summary: Oslo Concurrency library
Home-page: http://launchpad.net/oslo
Author: OpenStack
@@ -39,3 +39,4 @@
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
+Classifier: Programming Language :: Python :: 3.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/doc/source/conf.py
new/oslo.concurrency-3.14.0/doc/source/conf.py
--- old/oslo.concurrency-3.7.0/doc/source/conf.py 2016-03-28
05:04:37.000000000 +0200
+++ new/oslo.concurrency-3.14.0/doc/source/conf.py 2016-08-18
19:57:20.000000000 +0200
@@ -14,8 +14,7 @@
import os
import sys
-import fileinput
-import fnmatch
+
sys.path.insert(0, os.path.abspath('../..'))
# -- General configuration ----------------------------------------------------
@@ -78,4 +77,4 @@
]
# Example configuration for intersphinx: refer to the Python standard library.
-#intersphinx_mapping = {'http://docs.python.org/': None}
+# intersphinx_mapping = {'http://docs.python.org/': None}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/doc/source/usage.rst
new/oslo.concurrency-3.14.0/doc/source/usage.rst
--- old/oslo.concurrency-3.7.0/doc/source/usage.rst 2016-03-28
05:04:39.000000000 +0200
+++ new/oslo.concurrency-3.14.0/doc/source/usage.rst 2016-08-18
19:57:20.000000000 +0200
@@ -6,11 +6,62 @@
example::
from oslo_concurrency import lockutils
+ from oslo_concurrency import processutils
.. seealso::
* :doc:`API Documentation <api/index>`
+Locking a function (local to a process)
+=======================================
+
+To ensure that a function (which is not thread safe) is only used in
+a thread safe manner (typically such type of function should be refactored
+to avoid this problem but if not then the following can help)::
+
+ @lockutils.synchronized('not_thread_safe')
+ def not_thread_safe():
+ pass
+
+Once decorated later callers of this function will be able to call into
+this method and the contract that two threads will **not** enter this
+function at the same time will be upheld. Make sure that the names of the
+locks used are carefully chosen (typically by namespacing them to your
+app so that other apps will not chose the same names).
+
+Locking a function (local to a process as well as across process)
+=================================================================
+
+To ensure that a function (which is not thread safe **or** multi-process
+safe) is only used in a safe manner (typically such type of function should
+be refactored to avoid this problem but if not then the following can help)::
+
+ @lockutils.synchronized('not_thread_process_safe', external=True)
+ def not_thread_process_safe():
+ pass
+
+Once decorated later callers of this function will be able to call into
+this method and the contract that two threads (or any two processes)
+will **not** enter this function at the same time will be upheld. Make
+sure that the names of the locks used are carefully chosen (typically by
+namespacing them to your app so that other apps will not chose the same
+names).
+
+Common ways to prefix/namespace the synchronized decorator
+==========================================================
+
+Since it is **highly** recommended to prefix (or namespace) the usage
+of the synchronized there are a few helpers that can make this much easier
+to achieve.
+
+An example is::
+
+ myapp_synchronized = lockutils.synchronized_with_prefix("myapp")
+
+Then further usage of the ``lockutils.synchronized`` would instead now use
+this decorator created above instead of using ``lockutils.synchronized``
+directly.
+
Command Line Wrapper
====================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/oslo.concurrency.egg-info/PKG-INFO
new/oslo.concurrency-3.14.0/oslo.concurrency.egg-info/PKG-INFO
--- old/oslo.concurrency-3.7.0/oslo.concurrency.egg-info/PKG-INFO
2016-03-28 05:06:57.000000000 +0200
+++ new/oslo.concurrency-3.14.0/oslo.concurrency.egg-info/PKG-INFO
2016-08-18 19:59:40.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: oslo.concurrency
-Version: 3.7.0
+Version: 3.14.0
Summary: Oslo Concurrency library
Home-page: http://launchpad.net/oslo
Author: OpenStack
@@ -39,3 +39,4 @@
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
+Classifier: Programming Language :: Python :: 3.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/oslo.concurrency.egg-info/SOURCES.txt
new/oslo.concurrency-3.14.0/oslo.concurrency.egg-info/SOURCES.txt
--- old/oslo.concurrency-3.7.0/oslo.concurrency.egg-info/SOURCES.txt
2016-03-28 05:06:57.000000000 +0200
+++ new/oslo.concurrency-3.14.0/oslo.concurrency.egg-info/SOURCES.txt
2016-08-18 19:59:41.000000000 +0200
@@ -40,11 +40,12 @@
oslo_concurrency/opts.py
oslo_concurrency/prlimit.py
oslo_concurrency/processutils.py
+oslo_concurrency/version.py
oslo_concurrency/watchdog.py
oslo_concurrency/fixture/__init__.py
oslo_concurrency/fixture/lockutils.py
-oslo_concurrency/locale/oslo_concurrency-log-info.pot
-oslo_concurrency/locale/oslo_concurrency.pot
+oslo_concurrency/locale/de/LC_MESSAGES/oslo_concurrency-log-info.po
+oslo_concurrency/locale/de/LC_MESSAGES/oslo_concurrency.po
oslo_concurrency/locale/en_GB/LC_MESSAGES/oslo_concurrency-log-info.po
oslo_concurrency/locale/en_GB/LC_MESSAGES/oslo_concurrency.po
oslo_concurrency/locale/es/LC_MESSAGES/oslo_concurrency-log-info.po
@@ -55,4 +56,11 @@
oslo_concurrency/tests/unit/__init__.py
oslo_concurrency/tests/unit/test_lockutils.py
oslo_concurrency/tests/unit/test_lockutils_eventlet.py
-oslo_concurrency/tests/unit/test_processutils.py
\ No newline at end of file
+oslo_concurrency/tests/unit/test_processutils.py
+releasenotes/notes/add_reno-3b4ae0789e9c45b4.yaml
+releasenotes/source/conf.py
+releasenotes/source/index.rst
+releasenotes/source/unreleased.rst
+releasenotes/source/_static/.placeholder
+releasenotes/source/_templates/.placeholder
+releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/oslo.concurrency.egg-info/pbr.json
new/oslo.concurrency-3.14.0/oslo.concurrency.egg-info/pbr.json
--- old/oslo.concurrency-3.7.0/oslo.concurrency.egg-info/pbr.json
2016-03-28 05:06:57.000000000 +0200
+++ new/oslo.concurrency-3.14.0/oslo.concurrency.egg-info/pbr.json
2016-08-18 19:59:40.000000000 +0200
@@ -1 +1 @@
-{"git_version": "75c5ba3", "is_release": true}
\ No newline at end of file
+{"git_version": "ebd3921", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/oslo.concurrency.egg-info/requires.txt
new/oslo.concurrency-3.14.0/oslo.concurrency.egg-info/requires.txt
--- old/oslo.concurrency-3.7.0/oslo.concurrency.egg-info/requires.txt
2016-03-28 05:06:57.000000000 +0200
+++ new/oslo.concurrency-3.14.0/oslo.concurrency.egg-info/requires.txt
2016-08-18 19:59:40.000000000 +0200
@@ -1,12 +1,9 @@
pbr>=1.6
-Babel>=1.3
-iso8601>=0.1.9
-oslo.config>=3.7.0
+enum34
+iso8601>=0.1.11
+oslo.config>=3.14.0
oslo.i18n>=2.1.0
-oslo.utils>=3.5.0
+oslo.utils>=3.16.0
six>=1.9.0
fasteners>=0.7
retrying!=1.3.0,>=1.2.3
-
-[:(python_version=='2.7' or python_version=='2.6' or python_version=='3.3')]
-enum34
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/oslo_concurrency/locale/de/LC_MESSAGES/oslo_concurrency-log-info.po
new/oslo.concurrency-3.14.0/oslo_concurrency/locale/de/LC_MESSAGES/oslo_concurrency-log-info.po
---
old/oslo.concurrency-3.7.0/oslo_concurrency/locale/de/LC_MESSAGES/oslo_concurrency-log-info.po
1970-01-01 01:00:00.000000000 +0100
+++
new/oslo.concurrency-3.14.0/oslo_concurrency/locale/de/LC_MESSAGES/oslo_concurrency-log-info.po
2016-08-18 19:57:20.000000000 +0200
@@ -0,0 +1,19 @@
+# Andreas Jaeger <[email protected]>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: oslo.concurrency 3.9.1.dev2\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
+"POT-Creation-Date: 2016-06-04 05:27+0000\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"PO-Revision-Date: 2016-06-02 07:05+0000\n"
+"Last-Translator: Andreas Jaeger <[email protected]>\n"
+"Language-Team: German\n"
+"Language: de\n"
+"X-Generator: Zanata 3.7.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#, python-format
+msgid "Failed to remove file %(file)s"
+msgstr "Fehler beim Entfernen der Datei %(file)s"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/oslo_concurrency/locale/de/LC_MESSAGES/oslo_concurrency.po
new/oslo.concurrency-3.14.0/oslo_concurrency/locale/de/LC_MESSAGES/oslo_concurrency.po
---
old/oslo.concurrency-3.7.0/oslo_concurrency/locale/de/LC_MESSAGES/oslo_concurrency.po
1970-01-01 01:00:00.000000000 +0100
+++
new/oslo.concurrency-3.14.0/oslo_concurrency/locale/de/LC_MESSAGES/oslo_concurrency.po
2016-08-18 19:57:20.000000000 +0200
@@ -0,0 +1,101 @@
+# Translations template for oslo.concurrency.
+# Copyright (C) 2015 ORGANIZATION
+# This file is distributed under the same license as the oslo.concurrency
+# project.
+#
+# Translators:
+# Christian Berendt <[email protected]>, 2014
+# Ettore Atalan <[email protected]>, 2014
+# Andreas Jaeger <[email protected]>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: oslo.concurrency 3.9.1.dev3\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
+"POT-Creation-Date: 2016-06-07 17:48+0000\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"PO-Revision-Date: 2016-06-08 06:36+0000\n"
+"Last-Translator: Andreas Jaeger <[email protected]>\n"
+"Language: de\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Babel 2.0\n"
+"X-Generator: Zanata 3.7.3\n"
+"Language-Team: German\n"
+
+#, python-format
+msgid ""
+"%(desc)r\n"
+"command: %(cmd)r\n"
+"exit code: %(code)r\n"
+"stdout: %(stdout)r\n"
+"stderr: %(stderr)r"
+msgstr ""
+"%(desc)r\n"
+"Kommando: %(cmd)r\n"
+"Abschlusscode: %(code)r\n"
+"Stdout: %(stdout)r\n"
+"Stderr: %(stderr)r"
+
+#, python-format
+msgid ""
+"%(description)s\n"
+"Command: %(cmd)s\n"
+"Exit code: %(exit_code)s\n"
+"Stdout: %(stdout)r\n"
+"Stderr: %(stderr)r"
+msgstr ""
+"%(description)s\n"
+"Befehl: %(cmd)s.\n"
+"Beendigungscode: %(exit_code)s.\n"
+"Standardausgabe: %(stdout)r\n"
+"Standardfehler: %(stderr)r"
+
+#, python-format
+msgid "%r failed. Not Retrying."
+msgstr "%r fehlgeschlagen. Wird nicht wiederholt."
+
+#, python-format
+msgid "%r failed. Retrying."
+msgstr "%r fehlgeschlagen. Neuversuch."
+
+msgid ""
+"Calling lockutils directly is no longer supported. Please use the lockutils-"
+"wrapper console script instead."
+msgstr ""
+"Ein direkter Aufruf von lockutils wird nicht mehr unterstützt. Verwenden Sie "
+"stattdessen das lockutils-wrapper Konsolescript."
+
+msgid "Command requested root, but did not specify a root helper."
+msgstr "Kommando braucht root, es wurde aber kein root helper spezifiziert."
+
+msgid "Environment not supported over SSH"
+msgstr "Umgebung wird nicht über SSH unterstützt"
+
+#, python-format
+msgid ""
+"Got an OSError\n"
+"command: %(cmd)r\n"
+"errno: %(errno)r"
+msgstr ""
+"OS Fehler aufgetreten:\n"
+"Kommando: %(cmd)r\n"
+"Fehlernummer: %(errno)r"
+
+#, python-format
+msgid "Got invalid arg log_errors: %r"
+msgstr "Ungültiges Argument für log_errors: %r"
+
+#, python-format
+msgid "Got unknown keyword args: %r"
+msgstr "Ungültige Schlüsswelwortargumente: %r"
+
+#, python-format
+msgid "Running cmd (subprocess): %s"
+msgstr "Führe Kommando (subprocess) aus: %s"
+
+msgid "Unexpected error while running command."
+msgstr "Unerwarteter Fehler bei der Ausführung des Kommandos."
+
+msgid "process_input not supported over SSH"
+msgstr "process_input wird nicht über SSH unterstützt"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/oslo_concurrency/locale/en_GB/LC_MESSAGES/oslo_concurrency-log-info.po
new/oslo.concurrency-3.14.0/oslo_concurrency/locale/en_GB/LC_MESSAGES/oslo_concurrency-log-info.po
---
old/oslo.concurrency-3.7.0/oslo_concurrency/locale/en_GB/LC_MESSAGES/oslo_concurrency-log-info.po
2016-03-28 05:04:37.000000000 +0200
+++
new/oslo.concurrency-3.14.0/oslo_concurrency/locale/en_GB/LC_MESSAGES/oslo_concurrency-log-info.po
2016-08-18 19:57:20.000000000 +0200
@@ -5,12 +5,12 @@
#
# Translators:
# Andi Chandler <[email protected]>, 2014
-# OpenStack Infra <[email protected]>, 2015. #zanata
+# Andreas Jaeger <[email protected]>, 2016. #zanata
msgid ""
msgstr ""
-"Project-Id-Version: oslo.concurrency 3.2.1.dev3\n"
-"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2016-01-13 08:54+0000\n"
+"Project-Id-Version: oslo.concurrency 3.6.1.dev10\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
+"POT-Creation-Date: 2016-04-19 12:20+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/oslo_concurrency/locale/en_GB/LC_MESSAGES/oslo_concurrency.po
new/oslo.concurrency-3.14.0/oslo_concurrency/locale/en_GB/LC_MESSAGES/oslo_concurrency.po
---
old/oslo.concurrency-3.7.0/oslo_concurrency/locale/en_GB/LC_MESSAGES/oslo_concurrency.po
2016-03-28 05:04:37.000000000 +0200
+++
new/oslo.concurrency-3.14.0/oslo_concurrency/locale/en_GB/LC_MESSAGES/oslo_concurrency.po
2016-08-18 19:57:20.000000000 +0200
@@ -5,12 +5,12 @@
#
# Translators:
# Andi Chandler <[email protected]>, 2014-2015
-# OpenStack Infra <[email protected]>, 2015. #zanata
+# Andreas Jaeger <[email protected]>, 2016. #zanata
msgid ""
msgstr ""
-"Project-Id-Version: oslo.concurrency 3.2.1.dev3\n"
-"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2016-01-13 08:54+0000\n"
+"Project-Id-Version: oslo.concurrency 3.6.1.dev10\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
+"POT-Creation-Date: 2016-04-19 12:20+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/oslo_concurrency/locale/es/LC_MESSAGES/oslo_concurrency-log-info.po
new/oslo.concurrency-3.14.0/oslo_concurrency/locale/es/LC_MESSAGES/oslo_concurrency-log-info.po
---
old/oslo.concurrency-3.7.0/oslo_concurrency/locale/es/LC_MESSAGES/oslo_concurrency-log-info.po
2016-03-28 05:04:37.000000000 +0200
+++
new/oslo.concurrency-3.14.0/oslo_concurrency/locale/es/LC_MESSAGES/oslo_concurrency-log-info.po
2016-08-18 19:57:20.000000000 +0200
@@ -5,12 +5,12 @@
#
# Translators:
# Adriana Chisco Landazábal <[email protected]>, 2015
-# OpenStack Infra <[email protected]>, 2015. #zanata
+# Andreas Jaeger <[email protected]>, 2016. #zanata
msgid ""
msgstr ""
-"Project-Id-Version: oslo.concurrency 3.2.1.dev3\n"
-"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2016-01-13 08:54+0000\n"
+"Project-Id-Version: oslo.concurrency 3.6.1.dev10\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
+"POT-Creation-Date: 2016-04-19 12:20+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/oslo_concurrency/locale/es/LC_MESSAGES/oslo_concurrency.po
new/oslo.concurrency-3.14.0/oslo_concurrency/locale/es/LC_MESSAGES/oslo_concurrency.po
---
old/oslo.concurrency-3.7.0/oslo_concurrency/locale/es/LC_MESSAGES/oslo_concurrency.po
2016-03-28 05:04:37.000000000 +0200
+++
new/oslo.concurrency-3.14.0/oslo_concurrency/locale/es/LC_MESSAGES/oslo_concurrency.po
2016-08-18 19:57:20.000000000 +0200
@@ -5,12 +5,12 @@
#
# Translators:
# Adriana Chisco Landazábal <[email protected]>, 2015
-# OpenStack Infra <[email protected]>, 2015. #zanata
+# Andreas Jaeger <[email protected]>, 2016. #zanata
msgid ""
msgstr ""
-"Project-Id-Version: oslo.concurrency 3.2.1.dev3\n"
-"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2016-01-13 08:54+0000\n"
+"Project-Id-Version: oslo.concurrency 3.6.1.dev10\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
+"POT-Creation-Date: 2016-04-19 12:20+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/oslo_concurrency/locale/fr/LC_MESSAGES/oslo_concurrency-log-info.po
new/oslo.concurrency-3.14.0/oslo_concurrency/locale/fr/LC_MESSAGES/oslo_concurrency-log-info.po
---
old/oslo.concurrency-3.7.0/oslo_concurrency/locale/fr/LC_MESSAGES/oslo_concurrency-log-info.po
2016-03-28 05:04:37.000000000 +0200
+++
new/oslo.concurrency-3.14.0/oslo_concurrency/locale/fr/LC_MESSAGES/oslo_concurrency-log-info.po
2016-08-18 19:57:20.000000000 +0200
@@ -5,12 +5,12 @@
#
# Translators:
# Maxime COQUEREL <[email protected]>, 2015
-# OpenStack Infra <[email protected]>, 2015. #zanata
+# Andreas Jaeger <[email protected]>, 2016. #zanata
msgid ""
msgstr ""
-"Project-Id-Version: oslo.concurrency 3.2.1.dev3\n"
-"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2016-01-13 08:54+0000\n"
+"Project-Id-Version: oslo.concurrency 3.6.1.dev10\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
+"POT-Creation-Date: 2016-04-19 12:20+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/oslo_concurrency/locale/fr/LC_MESSAGES/oslo_concurrency.po
new/oslo.concurrency-3.14.0/oslo_concurrency/locale/fr/LC_MESSAGES/oslo_concurrency.po
---
old/oslo.concurrency-3.7.0/oslo_concurrency/locale/fr/LC_MESSAGES/oslo_concurrency.po
2016-03-28 05:04:37.000000000 +0200
+++
new/oslo.concurrency-3.14.0/oslo_concurrency/locale/fr/LC_MESSAGES/oslo_concurrency.po
2016-08-18 19:57:20.000000000 +0200
@@ -5,12 +5,12 @@
#
# Translators:
# Maxime COQUEREL <[email protected]>, 2015
-# OpenStack Infra <[email protected]>, 2015. #zanata
+# Andreas Jaeger <[email protected]>, 2016. #zanata
msgid ""
msgstr ""
-"Project-Id-Version: oslo.concurrency 3.2.1.dev3\n"
-"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2016-01-13 08:54+0000\n"
+"Project-Id-Version: oslo.concurrency 3.6.1.dev10\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
+"POT-Creation-Date: 2016-04-19 12:20+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/oslo_concurrency/lockutils.py
new/oslo.concurrency-3.14.0/oslo_concurrency/lockutils.py
--- old/oslo.concurrency-3.7.0/oslo_concurrency/lockutils.py 2016-03-28
05:04:37.000000000 +0200
+++ new/oslo.concurrency-3.14.0/oslo_concurrency/lockutils.py 2016-08-18
19:57:20.000000000 +0200
@@ -291,7 +291,7 @@
Redefine @synchronized in each project like so::
(in nova/utils.py)
- from nova.openstack.common import lockutils
+ from oslo_concurrency import lockutils
synchronized = lockutils.synchronized_with_prefix('nova-')
@@ -316,7 +316,7 @@
Redefine remove_external_lock_file_with_prefix in each project like so::
(in nova/utils.py)
- from nova.openstack.common import lockutils
+ from oslo_concurrency import lockutils
synchronized = lockutils.synchronized_with_prefix('nova-')
synchronized_remove = lockutils.remove_external_lock_file_with_prefix(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/oslo_concurrency/prlimit.py
new/oslo.concurrency-3.14.0/oslo_concurrency/prlimit.py
--- old/oslo.concurrency-3.7.0/oslo_concurrency/prlimit.py 2016-03-28
05:04:37.000000000 +0200
+++ new/oslo.concurrency-3.14.0/oslo_concurrency/prlimit.py 2016-08-18
19:57:20.000000000 +0200
@@ -26,8 +26,15 @@
RESOURCES = (
# argparse argument => resource
('as', resource.RLIMIT_AS),
+ ('core', resource.RLIMIT_CORE),
+ ('cpu', resource.RLIMIT_CPU),
+ ('data', resource.RLIMIT_DATA),
+ ('fsize', resource.RLIMIT_FSIZE),
+ ('memlock', resource.RLIMIT_MEMLOCK),
('nofile', resource.RLIMIT_NOFILE),
+ ('nproc', resource.RLIMIT_NPROC),
('rss', resource.RLIMIT_RSS),
+ ('stack', resource.RLIMIT_STACK),
)
@@ -35,10 +42,24 @@
parser = argparse.ArgumentParser(description='prlimit', prog=USAGE_PROGRAM)
parser.add_argument('--as', type=int,
help='Address space limit in bytes')
+ parser.add_argument('--core', type=int,
+ help='Core file size limit in bytes')
+ parser.add_argument('--cpu', type=int,
+ help='CPU time limit in seconds')
+ parser.add_argument('--data', type=int,
+ help='Data size limit in bytes')
+ parser.add_argument('--fsize', type=int,
+ help='File size limit in bytes')
+ parser.add_argument('--memlock', type=int,
+ help='Locked memory limit in bytes')
parser.add_argument('--nofile', type=int,
help='Maximum number of open files')
+ parser.add_argument('--nproc', type=int,
+ help='Maximum number of processes')
parser.add_argument('--rss', type=int,
help='Maximum Resident Set Size (RSS) in bytes')
+ parser.add_argument('--stack', type=int,
+ help='Stack size limit in bytes')
parser.add_argument('program',
help='Program (absolute path)')
parser.add_argument('program_args', metavar="arg", nargs='...',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/oslo_concurrency/processutils.py
new/oslo.concurrency-3.14.0/oslo_concurrency/processutils.py
--- old/oslo.concurrency-3.7.0/oslo_concurrency/processutils.py 2016-03-28
05:04:37.000000000 +0200
+++ new/oslo.concurrency-3.14.0/oslo_concurrency/processutils.py
2016-08-18 19:57:20.000000000 +0200
@@ -134,16 +134,36 @@
Attributes:
* address_space: Address space limit in bytes
- * number_files: Maximum number of open files.
+ * core_file_size: Core file size limit in bytes
+ * cpu_time: CPU time limit in seconds
+ * data_size: Data size limit in bytes
+ * file_size: File size limit in bytes
+ * memory_locked: Locked memory limit in bytes
+ * number_files: Maximum number of open files
+ * number_processes: Maximum number of processes
* resident_set_size: Maximum Resident Set Size (RSS) in bytes
+ * stack_size: Stack size limit in bytes
This object can be used for the *prlimit* parameter of :func:`execute`.
"""
+ _LIMITS = {
+ "address_space": "--as",
+ "core_file_size": "--core",
+ "cpu_time": "--cpu",
+ "data_size": "--data",
+ "file_size": "--fsize",
+ "memory_locked": "--memlock",
+ "number_files": "--nofile",
+ "number_processes": "--nproc",
+ "resident_set_size": "--rss",
+ "stack_size": "--stack",
+ }
+
def __init__(self, **kw):
- self.address_space = kw.pop('address_space', None)
- self.number_files = kw.pop('number_files', None)
- self.resident_set_size = kw.pop('resident_set_size', None)
+ for limit in self._LIMITS.keys():
+ setattr(self, limit, kw.pop(limit, None))
+
if kw:
raise ValueError("invalid limits: %s"
% ', '.join(sorted(kw.keys())))
@@ -151,12 +171,10 @@
def prlimit_args(self):
"""Create a list of arguments for the prlimit command line."""
args = []
- if self.address_space:
- args.append('--as=%s' % self.address_space)
- if self.number_files:
- args.append('--nofile=%s' % self.number_files)
- if self.resident_set_size:
- args.append('--rss=%s' % self.resident_set_size)
+ for limit in self._LIMITS.keys():
+ val = getattr(self, limit)
+ if val is not None:
+ args.append("%s=%s" % (self._LIMITS[limit], val))
return args
@@ -448,7 +466,7 @@
def ssh_execute(ssh, cmd, process_input=None,
addl_env=None, check_exit_code=True,
- binary=False):
+ binary=False, timeout=None):
"""Run a command through SSH.
.. versionchanged:: 1.9
@@ -463,7 +481,8 @@
# This is (probably) fixable if we need it...
raise InvalidArgumentError(_('process_input not supported over SSH'))
- stdin_stream, stdout_stream, stderr_stream = ssh.exec_command(cmd)
+ stdin_stream, stdout_stream, stderr_stream = ssh.exec_command(
+ cmd, timeout=timeout)
channel = stdout_stream.channel
# NOTE(justinsb): This seems suspicious...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/oslo_concurrency/tests/unit/test_lockutils.py
new/oslo.concurrency-3.14.0/oslo_concurrency/tests/unit/test_lockutils.py
--- old/oslo.concurrency-3.7.0/oslo_concurrency/tests/unit/test_lockutils.py
2016-03-28 05:04:37.000000000 +0200
+++ new/oslo.concurrency-3.14.0/oslo_concurrency/tests/unit/test_lockutils.py
2016-08-18 19:57:21.000000000 +0200
@@ -13,7 +13,7 @@
# under the License.
import collections
-import fcntl
+import multiprocessing
import os
import shutil
import signal
@@ -31,6 +31,50 @@
from oslo_concurrency import lockutils
from oslo_config import fixture as config
+if sys.platform == 'win32':
+ import msvcrt
+else:
+ import fcntl
+
+
+def lock_file(handle):
+ if sys.platform == 'win32':
+ msvcrt.locking(handle.fileno(), msvcrt.LK_NBLCK, 1)
+ else:
+ fcntl.flock(handle, fcntl.LOCK_EX | fcntl.LOCK_NB)
+
+
+def unlock_file(handle):
+ if sys.platform == 'win32':
+ msvcrt.locking(handle.fileno(), msvcrt.LK_UNLCK, 1)
+ else:
+ fcntl.flock(handle, fcntl.LOCK_UN)
+
+
+def lock_files(handles_dir, out_queue):
+ with lockutils.lock('external', 'test-', external=True):
+ # Open some files we can use for locking
+ handles = []
+ for n in range(50):
+ path = os.path.join(handles_dir, ('file-%s' % n))
+ handles.append(open(path, 'w'))
+
+ # Loop over all the handles and try locking the file
+ # without blocking, keep a count of how many files we
+ # were able to lock and then unlock. If the lock fails
+ # we get an IOError and bail out with bad exit code
+ count = 0
+ for handle in handles:
+ try:
+ lock_file(handle)
+ count += 1
+ unlock_file(handle)
+ except IOError:
+ os._exit(2)
+ finally:
+ handle.close()
+ return out_queue.put(count)
+
class LockTestCase(test_base.BaseTestCase):
@@ -44,9 +88,9 @@
"""Bar."""
pass
- self.assertEqual(foo.__doc__, 'Bar.', "Wrapped function's docstring "
+ self.assertEqual('Bar.', foo.__doc__, "Wrapped function's docstring "
"got lost")
- self.assertEqual(foo.__name__, 'foo', "Wrapped function's name "
+ self.assertEqual('foo', foo.__name__, "Wrapped function's name "
"got mangled")
def test_lock_internally_different_collections(self):
@@ -92,7 +136,7 @@
for thread in threads:
thread.join()
- self.assertEqual(len(seen_threads), 100)
+ self.assertEqual(100, len(seen_threads))
# Looking at the seen threads, split it into chunks of 10, and verify
# that the last 9 match the first in each chunk.
for i in range(10):
@@ -126,51 +170,20 @@
def _do_test_lock_externally(self):
"""We can lock across multiple processes."""
-
- def lock_files(handles_dir):
-
- with lockutils.lock('external', 'test-', external=True):
- # Open some files we can use for locking
- handles = []
- for n in range(50):
- path = os.path.join(handles_dir, ('file-%s' % n))
- handles.append(open(path, 'w'))
-
- # Loop over all the handles and try locking the file
- # without blocking, keep a count of how many files we
- # were able to lock and then unlock. If the lock fails
- # we get an IOError and bail out with bad exit code
- count = 0
- for handle in handles:
- try:
- fcntl.flock(handle, fcntl.LOCK_EX | fcntl.LOCK_NB)
- count += 1
- fcntl.flock(handle, fcntl.LOCK_UN)
- except IOError:
- os._exit(2)
- finally:
- handle.close()
-
- # Check if we were able to open all files
- self.assertEqual(50, count)
-
handles_dir = tempfile.mkdtemp()
try:
children = []
for n in range(50):
- pid = os.fork()
- if pid:
- children.append(pid)
- else:
- try:
- lock_files(handles_dir)
- finally:
- os._exit(0)
-
- for child in children:
- (pid, status) = os.waitpid(child, 0)
- if pid:
- self.assertEqual(0, status)
+ queue = multiprocessing.Queue()
+ proc = multiprocessing.Process(
+ target=lock_files,
+ args=(handles_dir, queue))
+ proc.start()
+ children.append((proc, queue))
+ for child, queue in children:
+ child.join()
+ count = queue.get(block=False)
+ self.assertEqual(50, count)
finally:
if os.path.exists(handles_dir):
shutil.rmtree(handles_dir, ignore_errors=True)
@@ -336,7 +349,7 @@
conf = cfg.ConfigOpts()
conf(['--config-file', paths[0]])
conf.register_opts(lockutils._opts, 'oslo_concurrency')
- self.assertEqual(conf.oslo_concurrency.lock_path, 'foo')
+ self.assertEqual('foo', conf.oslo_concurrency.lock_path)
self.assertTrue(conf.oslo_concurrency.disable_process_locking)
@@ -436,7 +449,7 @@
thread1.start()
thread1.join()
thread.join()
- self.assertEqual(call_list, ['other', 'other', 'main', 'main'])
+ self.assertEqual(['other', 'other', 'main', 'main'], call_list)
def test_non_destructive(self):
lock_file = os.path.join(self.lock_dir, 'not-destroyed')
@@ -445,7 +458,7 @@
with lockutils.lock('not-destroyed', external=True,
lock_path=self.lock_dir):
with open(lock_file) as f:
- self.assertEqual(f.read(), 'test')
+ self.assertEqual('test', f.read())
class LockutilsModuleTestCase(test_base.BaseTestCase):
@@ -470,7 +483,7 @@
])
argv = ['', sys.executable, '-c', script]
retval = lockutils._lock_wrapper(argv)
- self.assertEqual(retval, 0, "Bad OSLO_LOCK_PATH has been set")
+ self.assertEqual(0, retval, "Bad OSLO_LOCK_PATH has been set")
def test_return_value_maintained(self):
script = '\n'.join([
@@ -479,7 +492,7 @@
])
argv = ['', sys.executable, '-c', script]
retval = lockutils._lock_wrapper(argv)
- self.assertEqual(retval, 1)
+ self.assertEqual(1, retval)
def test_direct_call_explodes(self):
cmd = [sys.executable, '-m', 'oslo_concurrency.lockutils']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/oslo_concurrency/tests/unit/test_processutils.py
new/oslo.concurrency-3.14.0/oslo_concurrency/tests/unit/test_processutils.py
--- old/oslo.concurrency-3.7.0/oslo_concurrency/tests/unit/test_processutils.py
2016-03-28 05:04:37.000000000 +0200
+++
new/oslo.concurrency-3.14.0/oslo_concurrency/tests/unit/test_processutils.py
2016-08-18 19:57:20.000000000 +0200
@@ -21,6 +21,7 @@
import os
import pickle
import resource
+import socket
import stat
import subprocess
import sys
@@ -206,11 +207,12 @@
fp = open(tmpfilename2, 'r')
runs = fp.read()
fp.close()
- self.assertNotEqual(runs.strip(), 'failure', 'stdin did not '
- 'always get passed '
- 'correctly')
+ self.assertNotEqual('failure', 'stdin did not '
+ 'always get passed '
+ 'correctly',
+ runs.strip())
runs = int(runs.strip())
- self.assertEqual(runs, 10, 'Ran %d times instead of 10.' % (runs,))
+ self.assertEqual(10, runs, 'Ran %d times instead of 10.' % (runs,))
finally:
os.unlink(tmpfilename)
os.unlink(tmpfilename2)
@@ -397,9 +399,10 @@
self.assertIsInstance(err.stderr, six.text_type)
self.assertIn('onstdout --password="***"', err.stdout)
self.assertIn('onstderr --password="***"', err.stderr)
- self.assertEqual(err.cmd, ' '.join([tmpfilename,
- 'password="***"',
- 'something']))
+ self.assertEqual(' '.join([tmpfilename,
+ 'password="***"',
+ 'something']),
+ err.cmd)
self.assertNotIn('secret', str(err))
def execute_undecodable_bytes(self, out_bytes, err_bytes,
@@ -427,8 +430,8 @@
out, err = self.execute_undecodable_bytes(out_bytes, err_bytes,
binary=binary)
if six.PY3 and not binary:
- self.assertEqual(out, os.fsdecode(out_bytes))
- self.assertEqual(err, os.fsdecode(err_bytes))
+ self.assertEqual(os.fsdecode(out_bytes), out)
+ self.assertEqual(os.fsdecode(err_bytes), err)
else:
self.assertEqual(out, out_bytes)
self.assertEqual(err, err_bytes)
@@ -454,13 +457,13 @@
if six.PY3:
# On Python 3, stdout and stderr attributes of
# ProcessExecutionError must always be Unicode
- self.assertEqual(out, os.fsdecode(out_bytes))
- self.assertEqual(err, os.fsdecode(err_bytes))
+ 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, out_bytes)
- self.assertEqual(err, err_bytes)
+ self.assertEqual(out_bytes, out)
+ self.assertEqual(err_bytes, err)
def test_undecodable_bytes_error(self):
self.check_undecodable_bytes_error(False)
@@ -481,7 +484,7 @@
self.assertEqual(42, exc.exit_code)
self.assertEqual('my cmd', exc.cmd)
self.assertEqual('my description', exc.description)
- self.assertEqual(exc_message, str(exc))
+ self.assertEqual(str(exc), exc_message)
class ProcessExecutionErrorLoggingTest(test_base.BaseTestCase):
@@ -599,7 +602,9 @@
self.out = out
self.err = err
- def exec_command(self, cmd):
+ def exec_command(self, cmd, timeout=None):
+ if timeout:
+ raise socket.timeout()
stdout = FakeSshStream(self.out)
stdout.setup_channel(self.rc)
return (six.BytesIO(),
@@ -618,6 +623,12 @@
processutils.ssh_execute,
None, 'ls', process_input='important')
+ def test_timeout_error(self):
+ self.assertRaises(socket.timeout,
+ processutils.ssh_execute,
+ FakeSshConnection(0), 'ls',
+ timeout=10)
+
def test_works(self):
out, err = processutils.ssh_execute(FakeSshConnection(0), 'ls')
self.assertEqual('stdout', out)
@@ -640,11 +651,11 @@
out, err = processutils.ssh_execute(conn, 'ls', binary=binary)
if six.PY3 and not binary:
- self.assertEqual(out, os.fsdecode(out_bytes))
- self.assertEqual(err, os.fsdecode(err_bytes))
+ self.assertEqual(os.fsdecode(out_bytes), out)
+ self.assertEqual(os.fsdecode(err_bytes), err)
else:
- self.assertEqual(out, out_bytes)
- self.assertEqual(err, err_bytes)
+ self.assertEqual(out_bytes, out)
+ self.assertEqual(err_bytes, err)
def test_undecodable_bytes(self):
self.check_undecodable_bytes(False)
@@ -670,13 +681,13 @@
if six.PY3:
# On Python 3, stdout and stderr attributes of
# ProcessExecutionError must always be Unicode
- self.assertEqual(out, os.fsdecode(out_bytes))
- self.assertEqual(err, os.fsdecode(err_bytes))
+ 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, out_bytes)
- self.assertEqual(err, err_bytes)
+ self.assertEqual(out_bytes, out)
+ self.assertEqual(err_bytes, err)
def test_undecodable_bytes_error(self):
self.check_undecodable_bytes_error(False)
@@ -711,9 +722,9 @@
check_exit_code=check)
self.assertEqual(rc, err.exit_code)
- self.assertEqual(err.stdout, 'password="***"')
- self.assertEqual(err.stderr, 'password="***"')
- self.assertEqual(err.cmd, 'ls --password="***"')
+ self.assertEqual('password="***"', err.stdout)
+ self.assertEqual('password="***"', err.stderr)
+ self.assertEqual('ls --password="***"', err.cmd)
self.assertNotIn('secret', str(err))
self.assertNotIn('foobar', str(err))
else:
@@ -752,7 +763,7 @@
# Create a new soft limit for a resource, lower than the current
# soft limit.
soft_limit, hard_limit = resource.getrlimit(res)
- if soft_limit < 0:
+ if soft_limit <= 0:
soft_limit = default_limit
else:
soft_limit -= substract
@@ -775,7 +786,7 @@
prlimit = self.limit_address_space()
stdout, stderr = processutils.execute(*self.SIMPLE_PROGRAM,
prlimit=prlimit)
- self.assertEqual(stdout.rstrip(), '')
+ self.assertEqual('', stdout.rstrip())
self.assertEqual(stderr.rstrip(), '')
def check_limit(self, prlimit, resource, value):
@@ -784,12 +795,37 @@
args = [sys.executable, '-c', code]
stdout, stderr = processutils.execute(*args, prlimit=prlimit)
expected = (value, value)
- self.assertEqual(stdout.rstrip(), str(expected))
+ self.assertEqual(str(expected), stdout.rstrip())
def test_address_space(self):
prlimit = self.limit_address_space()
self.check_limit(prlimit, 'RLIMIT_AS', prlimit.address_space)
+ def test_core_size(self):
+ size = self.soft_limit(resource.RLIMIT_CORE, 1, 1024)
+ prlimit = processutils.ProcessLimits(core_file_size=size)
+ self.check_limit(prlimit, 'RLIMIT_CORE', prlimit.core_file_size)
+
+ def test_cpu_time(self):
+ time = self.soft_limit(resource.RLIMIT_CPU, 1, 1024)
+ prlimit = processutils.ProcessLimits(cpu_time=time)
+ self.check_limit(prlimit, 'RLIMIT_CPU', prlimit.cpu_time)
+
+ def test_data_size(self):
+ max_memory = self.memory_limit(resource.RLIMIT_DATA)
+ prlimit = processutils.ProcessLimits(data_size=max_memory)
+ self.check_limit(prlimit, 'RLIMIT_DATA', max_memory)
+
+ def test_file_size(self):
+ size = self.soft_limit(resource.RLIMIT_FSIZE, 1, 1024)
+ prlimit = processutils.ProcessLimits(file_size=size)
+ self.check_limit(prlimit, 'RLIMIT_FSIZE', prlimit.file_size)
+
+ def test_memory_locked(self):
+ max_memory = self.memory_limit(resource.RLIMIT_MEMLOCK)
+ prlimit = processutils.ProcessLimits(memory_locked=max_memory)
+ self.check_limit(prlimit, 'RLIMIT_MEMLOCK', max_memory)
+
def test_resident_set_size(self):
max_memory = self.memory_limit(resource.RLIMIT_RSS)
prlimit = processutils.ProcessLimits(resident_set_size=max_memory)
@@ -800,6 +836,16 @@
prlimit = processutils.ProcessLimits(number_files=nfiles)
self.check_limit(prlimit, 'RLIMIT_NOFILE', nfiles)
+ def test_number_processes(self):
+ nprocs = self.soft_limit(resource.RLIMIT_NPROC, 1, 65535)
+ prlimit = processutils.ProcessLimits(number_processes=nprocs)
+ self.check_limit(prlimit, 'RLIMIT_NPROC', nprocs)
+
+ def test_stack_size(self):
+ max_memory = self.memory_limit(resource.RLIMIT_STACK)
+ prlimit = processutils.ProcessLimits(stack_size=max_memory)
+ self.check_limit(prlimit, 'RLIMIT_STACK', max_memory)
+
def test_unsupported_prlimit(self):
self.assertRaises(ValueError, processutils.ProcessLimits, xxx=33)
@@ -818,8 +864,8 @@
try:
processutils.execute(*args, prlimit=prlimit)
except processutils.ProcessExecutionError as exc:
- self.assertEqual(exc.exit_code, 1)
- self.assertEqual(exc.stdout, '')
+ self.assertEqual(1, exc.exit_code)
+ self.assertEqual('', exc.stdout)
expected = ('%s -m oslo_concurrency.prlimit: '
'failed to execute /missing_path/dont_exist/program: '
% os.path.basename(sys.executable))
@@ -841,8 +887,8 @@
try:
processutils.execute(*args, prlimit=prlimit)
except processutils.ProcessExecutionError as exc:
- self.assertEqual(exc.exit_code, 1)
- self.assertEqual(exc.stdout, '')
+ self.assertEqual(1, exc.exit_code)
+ self.assertEqual('', exc.stdout)
expected = ('%s -m oslo_concurrency.prlimit: '
'failed to set the AS resource limit: '
% os.path.basename(sys.executable))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/oslo_concurrency/version.py
new/oslo.concurrency-3.14.0/oslo_concurrency/version.py
--- old/oslo.concurrency-3.7.0/oslo_concurrency/version.py 1970-01-01
01:00:00.000000000 +0100
+++ new/oslo.concurrency-3.14.0/oslo_concurrency/version.py 2016-08-18
19:57:20.000000000 +0200
@@ -0,0 +1,18 @@
+# Copyright 2016 OpenStack Foundation
+#
+# 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 pbr.version
+
+version_info = pbr.version.VersionInfo('oslo_concurrency')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/releasenotes/notes/add_reno-3b4ae0789e9c45b4.yaml
new/oslo.concurrency-3.14.0/releasenotes/notes/add_reno-3b4ae0789e9c45b4.yaml
---
old/oslo.concurrency-3.7.0/releasenotes/notes/add_reno-3b4ae0789e9c45b4.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/oslo.concurrency-3.14.0/releasenotes/notes/add_reno-3b4ae0789e9c45b4.yaml
2016-08-18 19:57:20.000000000 +0200
@@ -0,0 +1,3 @@
+---
+other:
+ - Switch to reno for managing release notes.
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/releasenotes/source/conf.py
new/oslo.concurrency-3.14.0/releasenotes/source/conf.py
--- old/oslo.concurrency-3.7.0/releasenotes/source/conf.py 1970-01-01
01:00:00.000000000 +0100
+++ new/oslo.concurrency-3.14.0/releasenotes/source/conf.py 2016-08-18
19:57:20.000000000 +0200
@@ -0,0 +1,273 @@
+# -*- coding: utf-8 -*-
+# 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.
+#
+# This file is execfile()d with the current directory set to its
+# containing dir.
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+# sys.path.insert(0, os.path.abspath('.'))
+
+# -- General configuration ------------------------------------------------
+
+# If your documentation needs a minimal Sphinx version, state it here.
+# needs_sphinx = '1.0'
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = [
+ 'oslosphinx',
+ 'reno.sphinxext',
+]
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# The suffix of source filenames.
+source_suffix = '.rst'
+
+# The encoding of source files.
+# source_encoding = 'utf-8-sig'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = u'oslo.concurrency Release Notes'
+copyright = u'2016, oslo.concurrency Developers'
+
+# The version info for the project you're documenting, acts as replacement for
+# |version| and |release|, also used in various other places throughout the
+# built documents.
+#
+# The short X.Y version.
+from oslo_concurrency.version import version_info as oslo_concurrency_version
+# The full version, including alpha/beta/rc tags.
+release = oslo_concurrency_version.version_string_with_vcs()
+# The short X.Y version.
+version = oslo_concurrency_version.canonical_version_string()
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+# language = None
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+# today = ''
+# Else, today_fmt is used as the format for a strftime call.
+# today_fmt = '%B %d, %Y'
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+exclude_patterns = []
+
+# The reST default role (used for this markup: `text`) to use for all
+# documents.
+# default_role = None
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+# add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+# add_module_names = True
+
+# If true, sectionauthor and moduleauthor directives will be shown in the
+# output. They are ignored by default.
+# show_authors = False
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+# A list of ignored prefixes for module index sorting.
+# modindex_common_prefix = []
+
+# If true, keep warnings as "system message" paragraphs in the built documents.
+# keep_warnings = False
+
+
+# -- Options for HTML output ----------------------------------------------
+
+# The theme to use for HTML and HTML Help pages. See the documentation for
+# a list of builtin themes.
+html_theme = 'default'
+
+# Theme options are theme-specific and customize the look and feel of a theme
+# further. For a list of options available for each theme, see the
+# documentation.
+# html_theme_options = {}
+
+# Add any paths that contain custom themes here, relative to this directory.
+# html_theme_path = []
+
+# The name for this set of Sphinx documents. If None, it defaults to
+# "<project> v<release> documentation".
+# html_title = None
+
+# A shorter title for the navigation bar. Default is the same as html_title.
+# html_short_title = None
+
+# The name of an image file (relative to this directory) to place at the top
+# of the sidebar.
+# html_logo = None
+
+# The name of an image file (within the static path) to use as favicon of the
+# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
+# pixels large.
+# html_favicon = None
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
+
+# Add any extra paths that contain custom files (such as robots.txt or
+# .htaccess) here, relative to this directory. These files are copied
+# directly to the root of the documentation.
+# html_extra_path = []
+
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+# using the given strftime format.
+# html_last_updated_fmt = '%b %d, %Y'
+
+# If true, SmartyPants will be used to convert quotes and dashes to
+# typographically correct entities.
+# html_use_smartypants = True
+
+# Custom sidebar templates, maps document names to template names.
+# html_sidebars = {}
+
+# Additional templates that should be rendered to pages, maps page names to
+# template names.
+# html_additional_pages = {}
+
+# If false, no module index is generated.
+# html_domain_indices = True
+
+# If false, no index is generated.
+# html_use_index = True
+
+# If true, the index is split into individual pages for each letter.
+# html_split_index = False
+
+# If true, links to the reST sources are added to the pages.
+# html_show_sourcelink = True
+
+# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
+# html_show_sphinx = True
+
+# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
+# html_show_copyright = True
+
+# If true, an OpenSearch description file will be output, and all pages will
+# contain a <link> tag referring to it. The value of this option must be the
+# base URL from which the finished HTML is served.
+# html_use_opensearch = ''
+
+# This is the file name suffix for HTML files (e.g. ".xhtml").
+# html_file_suffix = None
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'oslo.concurrencyReleaseNotesDoc'
+
+
+# -- Options for LaTeX output ---------------------------------------------
+
+latex_elements = {
+ # The paper size ('letterpaper' or 'a4paper').
+ # 'papersize': 'letterpaper',
+
+ # The font size ('10pt', '11pt' or '12pt').
+ # 'pointsize': '10pt',
+
+ # Additional stuff for the LaTeX preamble.
+ # 'preamble': '',
+}
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title,
+# author, documentclass [howto, manual, or own class]).
+latex_documents = [
+ ('index', 'oslo.concurrencyReleaseNotes.tex',
+ u'oslo.concurrency Release Notes Documentation',
+ u'oslo.concurrency Developers', 'manual'),
+]
+
+# The name of an image file (relative to this directory) to place at the top of
+# the title page.
+# latex_logo = None
+
+# For "manual" documents, if this is true, then toplevel headings are parts,
+# not chapters.
+# latex_use_parts = False
+
+# If true, show page references after internal links.
+# latex_show_pagerefs = False
+
+# If true, show URL addresses after external links.
+# latex_show_urls = False
+
+# Documents to append as an appendix to all manuals.
+# latex_appendices = []
+
+# If false, no module index is generated.
+# latex_domain_indices = True
+
+
+# -- Options for manual page output ---------------------------------------
+
+# One entry per manual page. List of tuples
+# (source start file, name, description, authors, manual section).
+man_pages = [
+ ('index', 'oslo.concurrencyReleaseNotes',
+ u'oslo.concurrency Release Notes Documentation',
+ [u'oslo.concurrency Developers'], 1)
+]
+
+# If true, show URL addresses after external links.
+# man_show_urls = False
+
+
+# -- Options for Texinfo output -------------------------------------------
+
+# Grouping the document tree into Texinfo files. List of tuples
+# (source start file, target name, title, author,
+# dir menu entry, description, category)
+texinfo_documents = [
+ ('index', 'oslo.concurrencyReleaseNotes',
+ u'oslo.concurrency Release Notes Documentation',
+ u'oslo.concurrency Developers', 'oslo.concurrencyReleaseNotes',
+ 'One line description of project.',
+ 'Miscellaneous'),
+]
+
+# Documents to append as an appendix to all manuals.
+# texinfo_appendices = []
+
+# If false, no module index is generated.
+# texinfo_domain_indices = True
+
+# How to display URL addresses: 'footnote', 'no', or 'inline'.
+# texinfo_show_urls = 'footnote'
+
+# If true, do not generate a @detailmenu in the "Top" node's menu.
+# texinfo_no_detailmenu = False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/releasenotes/source/index.rst
new/oslo.concurrency-3.14.0/releasenotes/source/index.rst
--- old/oslo.concurrency-3.7.0/releasenotes/source/index.rst 1970-01-01
01:00:00.000000000 +0100
+++ new/oslo.concurrency-3.14.0/releasenotes/source/index.rst 2016-08-18
19:57:20.000000000 +0200
@@ -0,0 +1,8 @@
+===============================
+ oslo.concurrency Release Notes
+===============================
+
+ .. toctree::
+ :maxdepth: 1
+
+ unreleased
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
new/oslo.concurrency-3.14.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
---
old/oslo.concurrency-3.7.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
1970-01-01 01:00:00.000000000 +0100
+++
new/oslo.concurrency-3.14.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
2016-08-18 19:57:20.000000000 +0200
@@ -0,0 +1,30 @@
+# Andi Chandler <[email protected]>, 2016. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: oslo.concurrency Release Notes 3.11.1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-07-01 03:44+0000\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"PO-Revision-Date: 2016-06-28 05:54+0000\n"
+"Last-Translator: Andi Chandler <[email protected]>\n"
+"Language-Team: English (United Kingdom)\n"
+"Language: en-GB\n"
+"X-Generator: Zanata 3.7.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+msgid "3.10.0"
+msgstr "3.10.0"
+
+msgid "Other Notes"
+msgstr "Other Notes"
+
+msgid "Switch to reno for managing release notes."
+msgstr "Switch to reno for managing release notes."
+
+msgid "Unreleased Release Notes"
+msgstr "Unreleased Release Notes"
+
+msgid "oslo.concurrency Release Notes"
+msgstr "oslo.concurrency Release Notes"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/releasenotes/source/unreleased.rst
new/oslo.concurrency-3.14.0/releasenotes/source/unreleased.rst
--- old/oslo.concurrency-3.7.0/releasenotes/source/unreleased.rst
1970-01-01 01:00:00.000000000 +0100
+++ new/oslo.concurrency-3.14.0/releasenotes/source/unreleased.rst
2016-08-18 19:57:20.000000000 +0200
@@ -0,0 +1,5 @@
+==========================
+ Unreleased Release Notes
+==========================
+
+.. release-notes::
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/requirements.txt
new/oslo.concurrency-3.14.0/requirements.txt
--- old/oslo.concurrency-3.7.0/requirements.txt 2016-03-28 05:04:37.000000000
+0200
+++ new/oslo.concurrency-3.14.0/requirements.txt 2016-08-18
19:57:21.000000000 +0200
@@ -3,12 +3,11 @@
# process, which may cause wedges in the gate later.
pbr>=1.6 # Apache-2.0
-Babel>=1.3 # BSD
enum34;python_version=='2.7' or python_version=='2.6' or python_version=='3.3'
# BSD
-iso8601>=0.1.9 # MIT
-oslo.config>=3.7.0 # Apache-2.0
+iso8601>=0.1.11 # MIT
+oslo.config>=3.14.0 # Apache-2.0
oslo.i18n>=2.1.0 # Apache-2.0
-oslo.utils>=3.5.0 # Apache-2.0
+oslo.utils>=3.16.0 # Apache-2.0
six>=1.9.0 # MIT
fasteners>=0.7 # Apache-2.0
retrying!=1.3.0,>=1.2.3 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/setup.cfg new/oslo.concurrency-3.14.0/setup.cfg
--- old/oslo.concurrency-3.7.0/setup.cfg 2016-03-28 05:06:57.000000000
+0200
+++ new/oslo.concurrency-3.14.0/setup.cfg 2016-08-18 19:59:41.000000000
+0200
@@ -17,6 +17,7 @@
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Programming Language :: Python :: 3.4
+ Programming Language :: Python :: 3.5
[files]
packages =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/test-requirements.txt
new/oslo.concurrency-3.14.0/test-requirements.txt
--- old/oslo.concurrency-3.7.0/test-requirements.txt 2016-03-28
05:04:37.000000000 +0200
+++ new/oslo.concurrency-3.14.0/test-requirements.txt 2016-08-18
19:57:20.000000000 +0200
@@ -6,10 +6,11 @@
oslotest>=1.10.0 # Apache-2.0
coverage>=3.6 # Apache-2.0
futures>=3.0;python_version=='2.7' or python_version=='2.6' # BSD
-fixtures>=1.3.1 # Apache-2.0/BSD
+fixtures>=3.0.0 # Apache-2.0/BSD
# These are needed for docs generation
oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
-sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD
+sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
+reno>=1.8.0 # Apache2
eventlet!=0.18.3,>=0.18.2 # MIT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/oslo.concurrency-3.7.0/tox.ini new/oslo.concurrency-3.14.0/tox.ini
--- old/oslo.concurrency-3.7.0/tox.ini 2016-03-28 05:04:37.000000000 +0200
+++ new/oslo.concurrency-3.14.0/tox.ini 2016-08-18 19:57:20.000000000 +0200
@@ -1,6 +1,6 @@
[tox]
minversion = 1.6
-envlist = py34,py27,pep8
+envlist = py35,py34,py27,pep8
[testenv]
deps = -r{toxinidir}/test-requirements.txt
@@ -9,10 +9,6 @@
lockutils-wrapper python setup.py testr --slowest --testr-args='{posargs}'
env TEST_EVENTLET=1 lockutils-wrapper python setup.py testr --slowest
--testr-args='{posargs}'
-[testenv:py34]
-commands =
- lockutils-wrapper python setup.py testr --slowest --testr-args='{posargs}'
-
[testenv:pep8]
commands = flake8
@@ -28,7 +24,7 @@
[flake8]
show-source = True
ignore = H405
-exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build
+exclude=.venv,.git,.tox,dist,*lib/python*,*egg,build
[hacking]
import_exceptions =
@@ -41,3 +37,6 @@
# of the requirements.txt files
deps = pip_missing_reqs
commands = pip-missing-reqs -d --ignore-module=oslo_concurrency*
--ignore-file=oslo_concurrency/tests/* --ignore-file=tests/ oslo_concurrency
+
+[testenv:releasenotes]
+commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html
releasenotes/source releasenotes/build/html