Hello community,
here is the log from the commit of package python-oslo.rootwrap for
openSUSE:Factory checked in at 2018-01-17 21:56:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oslo.rootwrap (Old)
and /work/SRC/openSUSE:Factory/.python-oslo.rootwrap.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-oslo.rootwrap"
Wed Jan 17 21:56:32 2018 rev:6 rq:565768 version:5.13.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-oslo.rootwrap/python-oslo.rootwrap.changes
2017-08-28 15:31:33.891292174 +0200
+++
/work/SRC/openSUSE:Factory/.python-oslo.rootwrap.new/python-oslo.rootwrap.changes
2018-01-17 21:56:34.688086244 +0100
@@ -1,0 +2,16 @@
+Mon Jan 15 11:59:18 UTC 2018 - [email protected]
+
+- update to version 5.13.0
+ - Follow the new PTI for document build
+ - Remove -U from pip install
+ - Add bandit to pep8 job
+ - Update reno for stable/pike
+ - Remove setting of version/release from releasenotes
+ - Avoid tox_install.sh for constraints support
+ - Fix test_daemon_no_cleanup_for_uninitialized_server
+ - Protect rootwrap daemon socket against multiple threads
+ - Cleanup test-requirements
+ - Updated from global requirements
+ - Ignore syslog settings if /dev/log is not present
+
+-------------------------------------------------------------------
Old:
----
oslo.rootwrap-5.9.0.tar.gz
New:
----
oslo.rootwrap-5.13.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-oslo.rootwrap.spec ++++++
--- /var/tmp/diff_new_pack.R1c8WF/_old 2018-01-17 21:56:35.440051070 +0100
+++ /var/tmp/diff_new_pack.R1c8WF/_new 2018-01-17 21:56:35.440051070 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-oslo.rootwrap
#
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,28 +16,27 @@
#
-%global sname oslo.rootwrap
Name: python-oslo.rootwrap
-Version: 5.9.0
+Version: 5.13.0
Release: 0
Summary: Filtering shell commands to run as root from OpenStack services
License: Apache-2.0
Group: Development/Languages/Python
-Url: https://launchpad.net/%{sname}
-Source0:
https://pypi.io/packages/source/o/%{sname}/%{sname}-%{version}.tar.gz
+Url: https://launchpad.net/oslo.rootwrap
+Source0:
https://files.pythonhosted.org/packages/source/o/oslo.rootwrap/oslo.rootwrap-5.13.0.tar.gz
BuildRequires: openstack-macros
BuildRequires: python-devel
BuildRequires: python-eventlet >= 0.18.2
BuildRequires: python-fixtures >= 3.0.0
-BuildRequires: python-mock >= 2.0
+BuildRequires: python-mock >= 2.0.0
BuildRequires: python-oslotest >= 1.10.0
BuildRequires: python-pbr >= 2.0.0
-BuildRequires: python-python-subunit >= 0.0.18
-BuildRequires: python-six >= 1.9.0
+BuildRequires: python-python-subunit >= 1.0.0
+BuildRequires: python-six >= 1.10.0
BuildRequires: python-testrepository >= 0.0.18
BuildRequires: python-testscenarios >= 0.4
-BuildRequires: python-testtools >= 1.4.0
-Requires: python-six >= 1.9.0
+BuildRequires: python-testtools >= 2.2.0
+Requires: python-six >= 1.10.0
BuildArch: noarch
%if 0%{?suse_version}
BuildRequires: iproute2
@@ -50,17 +49,17 @@
from OpenStack services.
%package doc
-Summary: Documentation for OpenStack %{sname}
+Summary: Documentation for OpenStack oslo.rootwrap
Group: Development/Languages/Python
BuildRequires: python-Sphinx
-BuildRequires: python-openstackdocstheme >= 1.11.0
-BuildRequires: python-reno >= 1.8.0
+BuildRequires: python-openstackdocstheme >= 1.17.0
+BuildRequires: python-reno >= 2.5.0
%description doc
-Documentation for the OpenStack %{sname} library.
+Documentation for the OpenStack oslo.rootwrap library.
%prep
-%autosetup -n %{sname}-%{version}
+%autosetup -p1 -n oslo.rootwrap-5.13.0
%py_req_cleanup
sed -i 's/^warning-is-error.*/warning-is-error = 0/g' setup.cfg
++++++ _service ++++++
--- /var/tmp/diff_new_pack.R1c8WF/_old 2018-01-17 21:56:35.476049385 +0100
+++ /var/tmp/diff_new_pack.R1c8WF/_new 2018-01-17 21:56:35.476049385 +0100
@@ -1,8 +1,8 @@
<services>
<service mode="disabled" name="renderspec">
- <param
name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/pike/openstack/oslo.rootwrap/oslo.rootwrap.spec.j2</param>
+ <param
name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/master/openstack/oslo.rootwrap/oslo.rootwrap.spec.j2</param>
<param name="output-name">python-oslo.rootwrap.spec</param>
- <param
name="requirements">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/pike/global-requirements.txt</param>
+ <param
name="requirements">https://raw.githubusercontent.com/openstack/rpm-packaging/master/requirements.txt</param>
<param name="changelog-email">[email protected]</param>
<param name="changelog-provider">gh,openstack,oslo.rootwrap</param>
</service>
++++++ oslo.rootwrap-5.9.0.tar.gz -> oslo.rootwrap-5.13.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.rootwrap-5.9.0/AUTHORS
new/oslo.rootwrap-5.13.0/AUTHORS
--- old/oslo.rootwrap-5.9.0/AUTHORS 2017-07-18 15:10:50.000000000 +0200
+++ new/oslo.rootwrap-5.13.0/AUTHORS 2018-01-08 15:17:50.000000000 +0100
@@ -6,6 +6,7 @@
ChangBo Guo(gcb) <[email protected]>
Christian Berendt <[email protected]>
Claudiu Belu <[email protected]>
+Corey Bryant <[email protected]>
Cyril Roelandt <[email protected]>
Davanum Srinivas <[email protected]>
Davanum Srinivas <[email protected]>
@@ -31,6 +32,7 @@
Roman Podolyaka <[email protected]>
Ronald Bradford <[email protected]>
Sean Dague <[email protected]>
+Sean McGinnis <[email protected]>
Sergey Kraynev <[email protected]>
Sergey Lukjanov <[email protected]>
Stanislav Kudriashev <[email protected]>
@@ -50,6 +52,7 @@
Yuriy Taraday <[email protected]>
Zhao Lei <[email protected]>
Zhongyue Luo <[email protected]>
+Zuul <[email protected]>
fumihiko kakuma <[email protected]>
howardlee <[email protected]>
melissaml <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.rootwrap-5.9.0/ChangeLog
new/oslo.rootwrap-5.13.0/ChangeLog
--- old/oslo.rootwrap-5.9.0/ChangeLog 2017-07-18 15:10:50.000000000 +0200
+++ new/oslo.rootwrap-5.13.0/ChangeLog 2018-01-08 15:17:50.000000000 +0100
@@ -1,6 +1,41 @@
CHANGES
=======
+5.13.0
+------
+
+* Updated from global requirements
+* Follow the new PTI for document build
+* Add bandit to pep8 job
+
+5.12.1
+------
+
+
+5.12.0
+------
+
+* Remove -U from pip install
+* Avoid tox\_install.sh for constraints support
+* Ignore syslog settings if /dev/log is not present
+* Remove setting of version/release from releasenotes
+* Updated from global requirements
+
+5.11.0
+------
+
+* Protect rootwrap daemon socket against multiple threads
+* Cleanup test-requirements
+* Updated from global requirements
+
+5.10.0
+------
+
+* Updated from global requirements
+* Fix test\_daemon\_no\_cleanup\_for\_uninitialized\_server
+* Update reno for stable/pike
+* Updated from global requirements
+
5.9.0
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.rootwrap-5.9.0/PKG-INFO
new/oslo.rootwrap-5.13.0/PKG-INFO
--- old/oslo.rootwrap-5.9.0/PKG-INFO 2017-07-18 15:10:50.000000000 +0200
+++ new/oslo.rootwrap-5.13.0/PKG-INFO 2018-01-08 15:17:51.000000000 +0100
@@ -1,11 +1,12 @@
Metadata-Version: 1.1
Name: oslo.rootwrap
-Version: 5.9.0
+Version: 5.13.0
Summary: Oslo Rootwrap
Home-page: https://docs.openstack.org/oslo.rootwrap/latest/
Author: OpenStack
Author-email: [email protected]
License: UNKNOWN
+Description-Content-Type: UNKNOWN
Description: ========================
Team and repository tags
========================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.rootwrap-5.9.0/doc/requirements.txt
new/oslo.rootwrap-5.13.0/doc/requirements.txt
--- old/oslo.rootwrap-5.9.0/doc/requirements.txt 1970-01-01
01:00:00.000000000 +0100
+++ new/oslo.rootwrap-5.13.0/doc/requirements.txt 2018-01-08
15:15:51.000000000 +0100
@@ -0,0 +1,10 @@
+# The order of packages is significant, because pip processes them in the order
+# of appearance. Changing the order has an impact on the overall integration
+# process, which may cause wedges in the gate later.
+# These are needed for docs generation
+openstackdocstheme>=1.17.0 # Apache-2.0
+sphinx>=1.6.2 # BSD
+reno>=2.5.0 # Apache-2.0
+
+mock>=2.0.0 # BSD
+fixtures>=3.0.0 # Apache-2.0/BSD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.rootwrap-5.9.0/oslo.rootwrap.egg-info/PKG-INFO
new/oslo.rootwrap-5.13.0/oslo.rootwrap.egg-info/PKG-INFO
--- old/oslo.rootwrap-5.9.0/oslo.rootwrap.egg-info/PKG-INFO 2017-07-18
15:10:50.000000000 +0200
+++ new/oslo.rootwrap-5.13.0/oslo.rootwrap.egg-info/PKG-INFO 2018-01-08
15:17:50.000000000 +0100
@@ -1,11 +1,12 @@
Metadata-Version: 1.1
Name: oslo.rootwrap
-Version: 5.9.0
+Version: 5.13.0
Summary: Oslo Rootwrap
Home-page: https://docs.openstack.org/oslo.rootwrap/latest/
Author: OpenStack
Author-email: [email protected]
License: UNKNOWN
+Description-Content-Type: UNKNOWN
Description: ========================
Team and repository tags
========================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.rootwrap-5.9.0/oslo.rootwrap.egg-info/SOURCES.txt
new/oslo.rootwrap-5.13.0/oslo.rootwrap.egg-info/SOURCES.txt
--- old/oslo.rootwrap-5.9.0/oslo.rootwrap.egg-info/SOURCES.txt 2017-07-18
15:10:50.000000000 +0200
+++ new/oslo.rootwrap-5.13.0/oslo.rootwrap.egg-info/SOURCES.txt 2018-01-08
15:17:51.000000000 +0100
@@ -12,6 +12,7 @@
benchmark/benchmark.py
benchmark/rootwrap.conf
benchmark/filters.d/ip.filters
+doc/requirements.txt
doc/source/conf.py
doc/source/index.rst
doc/source/contributor/index.rst
@@ -45,7 +46,7 @@
releasenotes/source/conf.py
releasenotes/source/index.rst
releasenotes/source/ocata.rst
+releasenotes/source/pike.rst
releasenotes/source/unreleased.rst
releasenotes/source/_static/.placeholder
-releasenotes/source/_templates/.placeholder
-tools/tox_install.sh
\ No newline at end of file
+releasenotes/source/_templates/.placeholder
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.rootwrap-5.9.0/oslo.rootwrap.egg-info/pbr.json
new/oslo.rootwrap-5.13.0/oslo.rootwrap.egg-info/pbr.json
--- old/oslo.rootwrap-5.9.0/oslo.rootwrap.egg-info/pbr.json 2017-07-18
15:10:50.000000000 +0200
+++ new/oslo.rootwrap-5.13.0/oslo.rootwrap.egg-info/pbr.json 2018-01-08
15:17:50.000000000 +0100
@@ -1 +1 @@
-{"git_version": "1bd761d", "is_release": true}
\ No newline at end of file
+{"git_version": "68a6492", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.rootwrap-5.9.0/oslo.rootwrap.egg-info/requires.txt
new/oslo.rootwrap-5.13.0/oslo.rootwrap.egg-info/requires.txt
--- old/oslo.rootwrap-5.9.0/oslo.rootwrap.egg-info/requires.txt 2017-07-18
15:10:50.000000000 +0200
+++ new/oslo.rootwrap-5.13.0/oslo.rootwrap.egg-info/requires.txt
2018-01-08 15:17:50.000000000 +0100
@@ -1 +1 @@
-six>=1.9.0
+six>=1.10.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.rootwrap-5.9.0/oslo_rootwrap/client.py
new/oslo.rootwrap-5.13.0/oslo_rootwrap/client.py
--- old/oslo.rootwrap-5.9.0/oslo_rootwrap/client.py 2017-07-18
15:08:47.000000000 +0200
+++ new/oslo.rootwrap-5.13.0/oslo_rootwrap/client.py 2018-01-08
15:15:41.000000000 +0100
@@ -47,11 +47,16 @@
def __init__(self, rootwrap_daemon_cmd):
self._start_command = rootwrap_daemon_cmd
self._initialized = False
+ self._need_restart = False
self._mutex = threading.Lock()
self._manager = None
self._proxy = None
self._process = None
self._finalize = None
+ # This is for eventlet compatibility. multiprocessing stores
+ # daemon connection in ForkAwareLocal, so this won't be
+ # needed with the threading module.
+ self._exec_sem = threading.Lock()
def _initialize(self):
if self._process is not None and self._process.poll() is not None:
@@ -111,7 +116,8 @@
def _restart(self, proxy):
with self._mutex:
- assert self._initialized
+ if not self._initialized:
+ raise AssertionError("Client should be initialized.")
# Verify if someone has already restarted this.
if self._proxy is proxy:
self._finalize()
@@ -119,20 +125,40 @@
self._proxy = None
self._initialized = False
self._initialize()
+ self._need_restart = False
return self._proxy
- def execute(self, cmd, stdin=None):
- self._ensure_initialized()
- proxy = self._proxy
- retry = False
+ def _run_one_command(self, proxy, cmd, stdin):
+ """Wrap proxy.run_one_command, setting _need_restart on an exception.
+
+ Usually it should be enough to drain stale data on socket
+ rather than to restart, but we cannot do draining easily.
+ """
try:
+ _need_restart = True
res = proxy.run_one_command(cmd, stdin)
- except (EOFError, IOError):
- retry = True
- # res can be None if we received final None sent by dying server thread
- # instead of response to our request. Process is most likely to be dead
- # at this point.
- if retry or res is None:
- proxy = self._restart(proxy)
- res = proxy.run_one_command(cmd, stdin)
+ _need_restart = False
+ return res
+ finally:
+ if _need_restart:
+ self._need_restart = True
+
+ def execute(self, cmd, stdin=None):
+ with self._exec_sem:
+ self._ensure_initialized()
+ proxy = self._proxy
+ retry = False
+ if self._need_restart:
+ proxy = self._restart(proxy)
+ try:
+ res = self._run_one_command(proxy, cmd, stdin)
+ except (EOFError, IOError):
+ retry = True
+ # res can be None if we received final None sent by dying
+ # server thread instead of response to our
+ # request. Process is most likely to be dead at this
+ # point.
+ if retry or res is None:
+ proxy = self._restart(proxy)
+ res = self._run_one_command(proxy, cmd, stdin)
return res
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.rootwrap-5.9.0/oslo_rootwrap/tests/test_functional_eventlet.py
new/oslo.rootwrap-5.13.0/oslo_rootwrap/tests/test_functional_eventlet.py
--- old/oslo.rootwrap-5.9.0/oslo_rootwrap/tests/test_functional_eventlet.py
2017-07-18 15:08:47.000000000 +0200
+++ new/oslo.rootwrap-5.13.0/oslo_rootwrap/tests/test_functional_eventlet.py
2018-01-08 15:15:41.000000000 +0100
@@ -25,3 +25,35 @@
def assert_unpatched(self):
# This test case is specifically for eventlet testing
pass
+
+ def _thread_worker(self, seconds, msg):
+ code, out, err = self.execute(
+ ['sh', '-c', 'sleep %d; echo %s' % (seconds, msg)])
+ # Ignore trailing newline
+ self.assertEqual(msg, out.rstrip())
+
+ def _thread_worker_timeout(self, seconds, msg, timeout):
+ with eventlet.Timeout(timeout):
+ try:
+ self._thread_worker(seconds, msg)
+ except eventlet.Timeout:
+ pass
+
+ def test_eventlet_threads(self):
+ """Check eventlet compatibility.
+
+ The multiprocessing module is not eventlet friendly and
+ must be protected against eventlet thread switching and its
+ timeout exceptions.
+ """
+ th = []
+ # 10 was not enough for some reason.
+ for i in range(15):
+ th.append(
+ eventlet.spawn(self._thread_worker, i % 3, 'abc%d' % i))
+ for i in [5, 17, 20, 25]:
+ th.append(
+ eventlet.spawn(self._thread_worker_timeout, 2,
+ 'timeout%d' % i, i))
+ for thread in th:
+ thread.wait()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.rootwrap-5.9.0/oslo_rootwrap/tests/test_rootwrap.py
new/oslo.rootwrap-5.13.0/oslo_rootwrap/tests/test_rootwrap.py
--- old/oslo.rootwrap-5.9.0/oslo_rootwrap/tests/test_rootwrap.py
2017-07-18 15:08:47.000000000 +0200
+++ new/oslo.rootwrap-5.13.0/oslo_rootwrap/tests/test_rootwrap.py
2018-01-08 15:15:41.000000000 +0100
@@ -15,6 +15,7 @@
import logging
import logging.handlers
import os
+import tempfile
import uuid
import fixtures
@@ -511,7 +512,8 @@
def setUp(self):
super(PathFilterTestCase, self).setUp()
- tmpdir = fixtures.TempDir('/tmp')
+ self.tmp_root_dir = tempfile.mkdtemp()
+ tmpdir = fixtures.TempDir(self.tmp_root_dir)
self.useFixture(tmpdir)
self.f = filters.PathFilter('/bin/chown', 'root', 'nova', tmpdir.path)
@@ -519,7 +521,7 @@
gen_name = lambda: str(uuid.uuid4())
self.SIMPLE_FILE_WITHIN_DIR = os.path.join(tmpdir.path, 'some')
- self.SIMPLE_FILE_OUTSIDE_DIR = os.path.join('/tmp', 'some')
+ self.SIMPLE_FILE_OUTSIDE_DIR = os.path.join(self.tmp_root_dir, 'some')
self.TRAVERSAL_WITHIN_DIR = os.path.join(tmpdir.path, 'a', '..',
'some')
self.TRAVERSAL_OUTSIDE_DIR = os.path.join(tmpdir.path, '..', 'some')
@@ -538,7 +540,8 @@
os.symlink(os.path.join(tmpdir.path, 'a'), self.SYMLINK_WITHIN_DIR)
self.SYMLINK_OUTSIDE_DIR = os.path.join(tmpdir.path, gen_name())
- os.symlink(os.path.join('/tmp', 'some_file'), self.SYMLINK_OUTSIDE_DIR)
+ os.symlink(os.path.join(self.tmp_root_dir, 'some_file'),
+ self.SYMLINK_OUTSIDE_DIR)
def test_empty_args(self):
self.assertFalse(self.f.match([]))
@@ -551,12 +554,13 @@
self.assertTrue(f.match(args))
def test_argument_equality_constraint(self):
- f = filters.PathFilter('/bin/chown', 'root', 'nova', '/tmp/spam/eggs')
+ temp_file_path = os.path.join(self.tmp_root_dir, 'spam/eggs')
+ f = filters.PathFilter('/bin/chown', 'root', 'nova', temp_file_path)
- args = ['chown', 'nova', '/tmp/spam/eggs']
+ args = ['chown', 'nova', temp_file_path]
self.assertTrue(f.match(args))
- args = ['chown', 'quantum', '/tmp/spam/eggs']
+ args = ['chown', 'quantum', temp_file_path]
self.assertFalse(f.match(args))
def test_wrong_arguments_number(self):
@@ -653,6 +657,7 @@
@mock.patch('tempfile.mkdtemp')
@mock.patch('multiprocessing.managers.BaseManager.get_server',
side_effect=DaemonCleanupException)
- def test_daemon_no_cleanup_for_uninitialized_server(self, gs, *args):
+ def test_daemon_no_cleanup_for_uninitialized_server(self, gs, mkd, *args):
+ mkd.return_value = '/just_dir/123'
self.assertRaises(DaemonCleanupException, daemon.daemon_start,
config=None, filters=None)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.rootwrap-5.9.0/oslo_rootwrap/wrapper.py
new/oslo.rootwrap-5.13.0/oslo_rootwrap/wrapper.py
--- old/oslo.rootwrap-5.9.0/oslo_rootwrap/wrapper.py 2017-07-18
15:08:47.000000000 +0200
+++ new/oslo.rootwrap-5.13.0/oslo_rootwrap/wrapper.py 2018-01-08
15:15:41.000000000 +0100
@@ -99,10 +99,17 @@
def setup_syslog(execname, facility, level):
+ try:
+ handler = logging.handlers.SysLogHandler(address='/dev/log',
+ facility=facility)
+ except IOError:
+ logging.warning("Unable to setup syslog, maybe /dev/log socket needs "
+ "to be restarted. Ignoring syslog configuration "
+ "options.")
+ return
+
rootwrap_logger = logging.getLogger()
rootwrap_logger.setLevel(level)
- handler = logging.handlers.SysLogHandler(address='/dev/log',
- facility=facility)
handler.setFormatter(logging.Formatter(
os.path.basename(execname) + ': %(message)s'))
rootwrap_logger.addHandler(handler)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.rootwrap-5.9.0/releasenotes/source/conf.py
new/oslo.rootwrap-5.13.0/releasenotes/source/conf.py
--- old/oslo.rootwrap-5.9.0/releasenotes/source/conf.py 2017-07-18
15:08:47.000000000 +0200
+++ new/oslo.rootwrap-5.13.0/releasenotes/source/conf.py 2018-01-08
15:15:41.000000000 +0100
@@ -60,16 +60,12 @@
project = u'oslo.rootwrap Release Notes'
copyright = u'2016, oslo.rootwrap 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_rootwrap.version import version_info as oslo_rootwrap_version
+# Release notes do not need a version in the title, they span
+# multiple versions.
# The full version, including alpha/beta/rc tags.
-release = oslo_rootwrap_version.version_string_with_vcs()
+release = ''
# The short X.Y version.
-version = oslo_rootwrap_version.canonical_version_string()
+version = ''
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.rootwrap-5.9.0/releasenotes/source/index.rst
new/oslo.rootwrap-5.13.0/releasenotes/source/index.rst
--- old/oslo.rootwrap-5.9.0/releasenotes/source/index.rst 2017-07-18
15:08:47.000000000 +0200
+++ new/oslo.rootwrap-5.13.0/releasenotes/source/index.rst 2018-01-08
15:15:41.000000000 +0100
@@ -6,4 +6,5 @@
:maxdepth: 1
unreleased
+ pike
ocata
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.rootwrap-5.9.0/releasenotes/source/pike.rst
new/oslo.rootwrap-5.13.0/releasenotes/source/pike.rst
--- old/oslo.rootwrap-5.9.0/releasenotes/source/pike.rst 1970-01-01
01:00:00.000000000 +0100
+++ new/oslo.rootwrap-5.13.0/releasenotes/source/pike.rst 2018-01-08
15:15:41.000000000 +0100
@@ -0,0 +1,6 @@
+===================================
+ Pike Series Release Notes
+===================================
+
+.. release-notes::
+ :branch: stable/pike
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.rootwrap-5.9.0/requirements.txt
new/oslo.rootwrap-5.13.0/requirements.txt
--- old/oslo.rootwrap-5.9.0/requirements.txt 2017-07-18 15:08:47.000000000
+0200
+++ new/oslo.rootwrap-5.13.0/requirements.txt 2018-01-08 15:15:41.000000000
+0100
@@ -2,4 +2,4 @@
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
-six>=1.9.0 # MIT
+six>=1.10.0 # MIT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.rootwrap-5.9.0/test-requirements.txt
new/oslo.rootwrap-5.13.0/test-requirements.txt
--- old/oslo.rootwrap-5.9.0/test-requirements.txt 2017-07-18
15:08:47.000000000 +0200
+++ new/oslo.rootwrap-5.13.0/test-requirements.txt 2018-01-08
15:15:41.000000000 +0100
@@ -5,20 +5,22 @@
hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
fixtures>=3.0.0 # Apache-2.0/BSD
-python-subunit>=0.0.18 # Apache-2.0/BSD
testrepository>=0.0.18 # Apache-2.0/BSD
-testtools>=1.4.0 # MIT
+testtools>=2.2.0 # MIT
# this is required for the docs build jobs
sphinx>=1.6.2 # BSD
-openstackdocstheme>=1.11.0 # Apache-2.0
+openstackdocstheme>=1.17.0 # Apache-2.0
oslotest>=1.10.0 # Apache-2.0
# mocking framework
-mock>=2.0 # BSD
+mock>=2.0.0 # BSD
# rootwrap daemon's client should be verified to run in eventlet
eventlet!=0.18.3,!=0.20.1,<0.21.0,>=0.18.2 # MIT
-reno!=2.3.1,>=1.8.0 # Apache-2.0
+reno>=2.5.0 # Apache-2.0
+
+# Bandit security code scanner
+bandit>=1.1.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.rootwrap-5.9.0/tools/tox_install.sh
new/oslo.rootwrap-5.13.0/tools/tox_install.sh
--- old/oslo.rootwrap-5.9.0/tools/tox_install.sh 2017-07-18
15:08:47.000000000 +0200
+++ new/oslo.rootwrap-5.13.0/tools/tox_install.sh 1970-01-01
01:00:00.000000000 +0100
@@ -1,30 +0,0 @@
-#!/usr/bin/env bash
-
-# Client constraint file contains this client version pin that is in conflict
-# with installing the client from source. We should remove the version pin in
-# the constraints file before applying it for from-source installation.
-
-CONSTRAINTS_FILE=$1
-shift 1
-
-set -e
-
-# NOTE(tonyb): Place this in the tox enviroment's log dir so it will get
-# published to logs.openstack.org for easy debugging.
-localfile="$VIRTUAL_ENV/log/upper-constraints.txt"
-
-if [[ $CONSTRAINTS_FILE != http* ]]; then
- CONSTRAINTS_FILE=file://$CONSTRAINTS_FILE
-fi
-# NOTE(tonyb): need to add curl to bindep.txt if the project supports bindep
-curl $CONSTRAINTS_FILE --insecure --progress-bar --output $localfile
-
-pip install -c$localfile openstack-requirements
-
-# This is the main purpose of the script: Allow local installation of
-# the current repo. It is listed in constraints file and thus any
-# install will be constrained and we need to unconstrain it.
-edit-constraints $localfile -- $CLIENT_NAME
-
-pip install -c$localfile -U $*
-exit $?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.rootwrap-5.9.0/tox.ini
new/oslo.rootwrap-5.13.0/tox.ini
--- old/oslo.rootwrap-5.9.0/tox.ini 2017-07-18 15:08:47.000000000 +0200
+++ new/oslo.rootwrap-5.13.0/tox.ini 2018-01-08 15:15:51.000000000 +0100
@@ -3,12 +3,11 @@
envlist = py35,py27,pep8
[testenv]
-setenv =
- VIRTUAL_ENV={envdir}
- BRANCH_NAME=master
- CLIENT_NAME=oslo.rootwrap
-install_command = {toxinidir}/tools/tox_install.sh
{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
{opts} {packages}
-deps = -r{toxinidir}/test-requirements.txt
+install_command = pip install {opts} {packages}
+deps =
+
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
+ -r{toxinidir}/test-requirements.txt
+ -r{toxinidir}/requirements.txt
# Functional tests with Eventlet involve monkeypatching, so force them to be
# run in a separate process
whitelist_externals = env
@@ -17,7 +16,12 @@
env TEST_EVENTLET=1 python setup.py testr --slowest
--testr-args='tests.test_functional_eventlet'
[testenv:pep8]
-commands = flake8
+deps =
+ -r{toxinidir}/test-requirements.txt
+commands =
+ flake8
+ # Run security linter
+ bandit -r oslo_rootwrap tests -n5 --skip B404
[testenv:cover]
deps = {[testenv]deps}
@@ -30,7 +34,8 @@
commands = {posargs}
[testenv:docs]
-commands = python setup.py build_sphinx
+deps = -r{toxinidir}/doc/requirements.txt
+commands = sphinx-build -b html doc/source doc/build/html
[flake8]
show-source = True
@@ -48,4 +53,5 @@
commands = pip-missing-reqs -d --ignore-module=oslo_rootwrap*
--ignore-module=pkg_resources --ignore-file=oslo_rootwrap/test.py
--ignore-file=oslo_rootwrap/tests/* oslo_rootwrap
[testenv:releasenotes]
+deps = -r{toxinidir}/doc/requirements.txt
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html
releasenotes/source releasenotes/build/html