Hello community,

here is the log from the commit of package python-oslo.privsep for 
openSUSE:Factory checked in at 2020-06-05 20:14:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oslo.privsep (Old)
 and      /work/SRC/openSUSE:Factory/.python-oslo.privsep.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-oslo.privsep"

Fri Jun  5 20:14:53 2020 rev:13 rq:803596 version:2.1.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-oslo.privsep/python-oslo.privsep.changes  
2020-03-24 22:32:53.485105421 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-oslo.privsep.new.3606/python-oslo.privsep.changes
        2020-06-05 20:18:28.047503647 +0200
@@ -1,0 +2,23 @@
+Tue May 12 09:47:16 UTC 2020 - cloud-de...@suse.de
+
+- removed 0001-Disable-logger-validation-during-unit-testing.patch
+- update to version 2.1.1
+  - tox: Add missing 'deps' for releasenotes testenv
+  - Switch to Ussuri jobs
+  - Bump the openstackdocstheme extension to 1.20
+  - Add functional tests
+  - trivial: Cleanup Sphinx config file, setup.cfg
+  - Add lock around channel creation
+  - Update hacking for Python3
+  - Use unittest.mock instead of third party mock
+  - Update the constraints url
+  - tox: Trivial cleanup
+  - [ussuri][goal] Drop python 2.7 support and testing
+  - remove outdated header
+  - Disable logger validation during unit testing
+  - Bring sanity to lower-constraints
+  - Update master for stable/train
+  - Make compatible with msgpack 1.0.0
+  - tox: Keeping going with docs
+
+-------------------------------------------------------------------

Old:
----
  0001-Disable-logger-validation-during-unit-testing.patch
  oslo.privsep-1.33.3.tar.gz

New:
----
  oslo.privsep-2.1.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-oslo.privsep.spec ++++++
--- /var/tmp/diff_new_pack.JBbLVy/_old  2020-06-05 20:18:31.415519004 +0200
+++ /var/tmp/diff_new_pack.JBbLVy/_new  2020-06-05 20:18:31.419519022 +0200
@@ -17,21 +17,19 @@
 
 
 Name:           python-oslo.privsep
-Version:        1.33.3
+Version:        2.1.1
 Release:        0
 Summary:        OpenStack library for privilege separation
 License:        Apache-2.0
 Group:          Development/Languages/Python
 URL:            https://launchpad.net/oslo.privsep
-Source0:        
https://files.pythonhosted.org/packages/source/o/oslo.privsep/oslo.privsep-1.33.3.tar.gz
-# https://review.opendev.org/#/c/713337/
-Patch1:         0001-Disable-logger-validation-during-unit-testing.patch
+Source0:        
https://files.pythonhosted.org/packages/source/o/oslo.privsep/oslo.privsep-2.1.1.tar.gz
 BuildRequires:  openstack-macros
 BuildRequires:  python3-cffi >= 1.7.0
 BuildRequires:  python3-eventlet >= 0.18.2
-BuildRequires:  python3-greenlet >= 0.4.10
+BuildRequires:  python3-greenlet >= 0.4.14
 BuildRequires:  python3-mock
-BuildRequires:  python3-msgpack >= 0.5.0
+BuildRequires:  python3-msgpack >= 0.6.0
 BuildRequires:  python3-oslo.config >= 5.2.0
 BuildRequires:  python3-oslo.i18n >= 3.15.3
 BuildRequires:  python3-oslo.log >= 3.36.0
@@ -50,8 +48,8 @@
 Group:          Development/Languages/Python
 Requires:       python3-cffi >= 1.7.0
 Requires:       python3-eventlet >= 0.18.2
-Requires:       python3-greenlet >= 0.4.10
-Requires:       python3-msgpack >= 0.5.0
+Requires:       python3-greenlet >= 0.4.14
+Requires:       python3-msgpack >= 0.6.0
 Requires:       python3-oslo.config >= 5.2.0
 Requires:       python3-oslo.i18n >= 3.15.3
 Requires:       python3-oslo.log >= 3.36.0
@@ -74,7 +72,7 @@
 Documentation for oslo.privsep
 
 %prep
-%autosetup -p1 -n oslo.privsep-1.33.3
+%autosetup -p1 -n oslo.privsep-2.1.1
 %py_req_cleanup
 
 %build

++++++ _service ++++++
--- /var/tmp/diff_new_pack.JBbLVy/_old  2020-06-05 20:18:31.447519150 +0200
+++ /var/tmp/diff_new_pack.JBbLVy/_new  2020-06-05 20:18:31.447519150 +0200
@@ -1,8 +1,8 @@
 <services>
   <service mode="disabled" name="renderspec">
-    <param 
name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/train/openstack/oslo.privsep/oslo.privsep.spec.j2</param>
+    <param 
name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/ussuri/openstack/oslo.privsep/oslo.privsep.spec.j2</param>
     <param name="output-name">python-oslo.privsep.spec</param>
-    <param 
name="requirements">https://raw.githubusercontent.com/openstack/oslo.privsep/stable/train/requirements.txt</param>
+    <param 
name="requirements">https://opendev.org/openstack/oslo.privsep/raw/branch/stable/ussuri/requirements.txt</param>
     <param name="changelog-email">cloud-de...@suse.de</param>
     <param name="changelog-provider">gh,openstack,oslo.privsep</param>
   </service>

++++++ oslo.privsep-1.33.3.tar.gz -> oslo.privsep-2.1.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.privsep-1.33.3/.stestr.conf 
new/oslo.privsep-2.1.1/.stestr.conf
--- old/oslo.privsep-1.33.3/.stestr.conf        2019-09-12 18:38:03.000000000 
+0200
+++ new/oslo.privsep-2.1.1/.stestr.conf 2020-04-07 12:06:51.000000000 +0200
@@ -1,3 +1,3 @@
 [DEFAULT]
-test_path=./oslo_privsep/tests
+test_path=${OS_TEST_PATH:-./oslo_privsep/tests}
 top_path=./
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.privsep-1.33.3/.zuul.yaml 
new/oslo.privsep-2.1.1/.zuul.yaml
--- old/oslo.privsep-1.33.3/.zuul.yaml  2019-09-12 18:38:03.000000000 +0200
+++ new/oslo.privsep-2.1.1/.zuul.yaml   2020-04-07 12:06:51.000000000 +0200
@@ -1,11 +1,9 @@
 - project:
     templates:
       - check-requirements
-      - lib-forward-testing
       - lib-forward-testing-python3
       - openstack-lower-constraints-jobs
-      - openstack-python-jobs
-      - openstack-python3-train-jobs
+      - openstack-python3-ussuri-jobs
       - periodic-stable-jobs
       - publish-openstack-docs-pti
       - release-notes-jobs-python3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.privsep-1.33.3/AUTHORS 
new/oslo.privsep-2.1.1/AUTHORS
--- old/oslo.privsep-1.33.3/AUTHORS     2019-09-12 18:38:43.000000000 +0200
+++ new/oslo.privsep-2.1.1/AUTHORS      2020-04-07 12:07:53.000000000 +0200
@@ -8,6 +8,7 @@
 Claudiu Belu <cb...@cloudbasesolutions.com>
 Corey Bryant <corey.bry...@canonical.com>
 Cédric Jeanneret <cjean...@redhat.com>
+Darragh O'Reilly <dorei...@suse.com>
 Davanum Srinivas <dava...@gmail.com>
 Dirk Mueller <d...@dmllr.de>
 Doug Hellmann <d...@doughellmann.com>
@@ -15,6 +16,7 @@
 Eric Fried <openst...@fried.cc>
 Eric Harney <ehar...@redhat.com>
 Flavio Percoco <flape...@gmail.com>
+Hervé Beraud <hber...@redhat.com>
 Hongbin Lu <hongbin...@huawei.com>
 Javier Pena <jp...@redhat.com>
 John Garbutt <john.garb...@rackspace.com>
@@ -25,6 +27,8 @@
 Pavlo Shchelokovskyy <shchelokovs...@gmail.com>
 Rodolfo Alonso Hernandez <ralon...@redhat.com>
 Sam Wan <sam....@emc.com>
+Sean McGinnis <sean.mcgin...@gmail.com>
+Stephen Finucane <stephen...@redhat.com>
 Swapnil Kulkarni (coolsvap) <m...@coolsvap.net>
 Thierry Carrez <thie...@openstack.org>
 TommyLike <tommylik...@gmail.com>
@@ -41,6 +45,7 @@
 liangcui <liang...@fiberhome.com>
 loooosy <syluo5...@fiberhome.com>
 melissaml <ma....@99cloud.net>
+pengyuesheng <pengyuesh...@gohighsec.com>
 ricolin <rico....@easystack.cn>
 shupeng <15050873...@163.com>
 sonu.kumar <sonu.ku...@nectechnologies.in>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.privsep-1.33.3/ChangeLog 
new/oslo.privsep-2.1.1/ChangeLog
--- old/oslo.privsep-1.33.3/ChangeLog   2019-09-12 18:38:43.000000000 +0200
+++ new/oslo.privsep-2.1.1/ChangeLog    2020-04-07 12:07:53.000000000 +0200
@@ -1,6 +1,39 @@
 CHANGES
 =======
 
+2.1.1
+-----
+
+* Update hacking for Python3
+* Use unittest.mock instead of third party mock
+
+2.1.0
+-----
+
+* Make compatible with msgpack 1.0.0
+* Bring sanity to lower-constraints
+* Disable logger validation during unit testing
+* Add lock around channel creation
+* trivial: Cleanup Sphinx config file, setup.cfg
+* tox: Add missing 'deps' for releasenotes testenv
+
+2.0.0
+-----
+
+* remove outdated header
+* [ussuri][goal] Drop python 2.7 support and testing
+
+1.34.0
+------
+
+* tox: Trivial cleanup
+* Add functional tests
+* Bump the openstackdocstheme extension to 1.20
+* tox: Keeping going with docs
+* Switch to Ussuri jobs
+* Update the constraints url
+* Update master for stable/train
+
 1.33.3
 ------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.privsep-1.33.3/PKG-INFO 
new/oslo.privsep-2.1.1/PKG-INFO
--- old/oslo.privsep-1.33.3/PKG-INFO    2019-09-12 18:38:43.000000000 +0200
+++ new/oslo.privsep-2.1.1/PKG-INFO     2020-04-07 12:07:53.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
 Name: oslo.privsep
-Version: 1.33.3
+Version: 2.1.1
 Summary: OpenStack library for privilege separation
 Home-page: https://docs.openstack.org/oslo.privsep/latest/
 Author: OpenStack
@@ -50,8 +50,9 @@
 Classifier: License :: OSI Approved :: Apache Software License
 Classifier: Operating System :: POSIX :: Linux
 Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3 :: Only
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Requires-Python: >=3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.privsep-1.33.3/doc/requirements.txt 
new/oslo.privsep-2.1.1/doc/requirements.txt
--- old/oslo.privsep-1.33.3/doc/requirements.txt        2019-09-12 
18:38:03.000000000 +0200
+++ new/oslo.privsep-2.1.1/doc/requirements.txt 2020-04-07 12:06:51.000000000 
+0200
@@ -2,8 +2,7 @@
 # of appearance. Changing the order has an impact on the overall integration
 # process, which may cause wedges in the gate later.
 
-openstackdocstheme>=1.18.1 # Apache-2.0
-sphinx!=1.6.6,!=1.6.7,>=1.6.2,<2.0.0;python_version=='2.7' # BSD
-sphinx!=1.6.6,!=1.6.7,>=1.6.2;python_version>='3.4' # BSD
+openstackdocstheme>=1.20.0 # Apache-2.0
+sphinx>=1.8.0,!=2.1.0 # BSD
 reno>=2.5.0 # Apache-2.0
 sphinxcontrib-apidoc>=0.2.0  # BSD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.privsep-1.33.3/doc/source/conf.py 
new/oslo.privsep-2.1.1/doc/source/conf.py
--- old/oslo.privsep-1.33.3/doc/source/conf.py  2019-09-12 18:38:03.000000000 
+0200
+++ new/oslo.privsep-2.1.1/doc/source/conf.py   2020-04-07 12:06:51.000000000 
+0200
@@ -12,10 +12,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-import os
-import sys
-
-sys.path.insert(0, os.path.abspath('../..'))
 # -- General configuration ----------------------------------------------------
 
 # Add any Sphinx extension module names here, as strings. They can be
@@ -23,19 +19,13 @@
 extensions = [
     'sphinx.ext.autodoc',
     'sphinxcontrib.apidoc',
-    #'sphinx.ext.intersphinx',
-    'openstackdocstheme'
+    'openstackdocstheme',
 ]
 
 # openstackdocstheme options
 repository_name = 'openstack/oslo.privsep'
 bug_project = 'oslo.privsep'
 bug_tag = ''
-html_last_updated_fmt = '%Y-%m-%d %H:%M'
-
-# autodoc generation is a bit aggressive and a nuisance when doing heavy
-# text edit cycles.
-# execute "export SPHINX_DEBUG=1" in your terminal to disable
 
 # The suffix of source filenames.
 source_suffix = '.rst'
@@ -61,26 +51,13 @@
 
 # The theme to use for HTML and HTML Help pages.  Major themes that come with
 # Sphinx are currently 'default' and 'sphinxdoc'.
-# html_theme_path = ["."]
 html_theme = 'openstackdocs'
-# html_static_path = ['static']
 
-# Output file base name for HTML help builder.
-htmlhelp_basename = '%sdoc' % project
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title, author, documentclass
-# [howto/manual]).
-latex_documents = [
-    ('index',
-     '%s.tex' % project,
-     u'%s Documentation' % project,
-     u'OpenStack Foundation', 'manual'),
-]
-
-# Example configuration for intersphinx: refer to the Python standard library.
-#intersphinx_mapping = {'http://docs.python.org/': None}
 
 # -- sphinxcontrib.apidoc configuration --------------------------------------
+
 apidoc_module_dir = '../../oslo_privsep'
 apidoc_output_dir = 'reference/api'
+apidoc_excluded_paths = [
+    'tests',
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.privsep-1.33.3/lower-constraints.txt 
new/oslo.privsep-2.1.1/lower-constraints.txt
--- old/oslo.privsep-1.33.3/lower-constraints.txt       2019-09-12 
18:38:03.000000000 +0200
+++ new/oslo.privsep-2.1.1/lower-constraints.txt        2020-04-07 
12:06:51.000000000 +0200
@@ -6,16 +6,12 @@
 debtcollector==1.2.0
 docutils==0.11
 dulwich==0.15.0
-enum34==1.0.4;python_version=='2.7' or python_version=='2.6' or 
python_version=='3.3' # BSD
 eventlet==0.18.2
 extras==1.0.0
 fixtures==3.0.0
-flake8==2.5.5
-futures==3.1.1;python_version=='2.7' or python_version=='2.6' # PSF
 gitdb==0.6.4
 GitPython==1.0.1
-greenlet==0.4.10
-hacking==0.12.0
+greenlet==0.4.14
 imagesize==0.7.1
 iso8601==0.1.11
 Jinja2==2.10
@@ -23,26 +19,21 @@
 linecache2==1.0.0
 MarkupSafe==1.0
 mccabe==0.2.1
-mock==2.0.0
-monotonic==0.6
 mox3==0.20.0
-msgpack-python==0.4.0
-msgpack==0.5.0
+msgpack==0.6.0
 netaddr==0.7.18
 netifaces==0.10.4
-openstackdocstheme==1.18.1
+openstackdocstheme==1.20.0
 os-client-config==1.28.0
 oslo.config==5.2.0
 oslo.context==2.19.2
 oslo.i18n==3.15.3
 oslo.log==3.36.0
-oslo.serialization==2.18.0
+oslo.serialization==2.24.0
 oslo.utils==3.33.0
 oslotest==3.2.0
 pbr==2.0.0
-pep8==1.5.7
 pycparser==2.18
-pyflakes==0.8.1
 Pygments==2.2.0
 pyinotify==0.9.6
 pyparsing==2.1.0
@@ -50,7 +41,7 @@
 python-mimeparse==1.6.0
 python-subunit==1.0.0
 pytz==2013.6
-PyYAML==3.12
+PyYAML==3.13
 reno==2.5.0
 requests==2.14.2
 requestsexceptions==1.2.0
@@ -58,7 +49,7 @@
 six==1.10.0
 smmap==0.9.0
 snowballstemmer==1.2.1
-Sphinx==1.6.2
+Sphinx==1.8.0
 sphinxcontrib-websupport==1.0.1
 stestr==2.0.0
 stevedore==1.20.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.privsep-1.33.3/oslo.privsep.egg-info/PKG-INFO 
new/oslo.privsep-2.1.1/oslo.privsep.egg-info/PKG-INFO
--- old/oslo.privsep-1.33.3/oslo.privsep.egg-info/PKG-INFO      2019-09-12 
18:38:43.000000000 +0200
+++ new/oslo.privsep-2.1.1/oslo.privsep.egg-info/PKG-INFO       2020-04-07 
12:07:53.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
 Name: oslo.privsep
-Version: 1.33.3
+Version: 2.1.1
 Summary: OpenStack library for privilege separation
 Home-page: https://docs.openstack.org/oslo.privsep/latest/
 Author: OpenStack
@@ -50,8 +50,9 @@
 Classifier: License :: OSI Approved :: Apache Software License
 Classifier: Operating System :: POSIX :: Linux
 Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3 :: Only
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Requires-Python: >=3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.privsep-1.33.3/oslo.privsep.egg-info/SOURCES.txt 
new/oslo.privsep-2.1.1/oslo.privsep.egg-info/SOURCES.txt
--- old/oslo.privsep-1.33.3/oslo.privsep.egg-info/SOURCES.txt   2019-09-12 
18:38:43.000000000 +0200
+++ new/oslo.privsep-2.1.1/oslo.privsep.egg-info/SOURCES.txt    2020-04-07 
12:07:53.000000000 +0200
@@ -39,6 +39,8 @@
 oslo_privsep/daemon.py
 oslo_privsep/priv_context.py
 oslo_privsep/version.py
+oslo_privsep/functional/__init__.py
+oslo_privsep/functional/test_daemon.py
 oslo_privsep/locale/de/LC_MESSAGES/oslo_privsep.po
 oslo_privsep/locale/en_GB/LC_MESSAGES/oslo_privsep.po
 oslo_privsep/tests/__init__.py
@@ -51,6 +53,7 @@
 releasenotes/notes/add_reno-3b4ae0789e9c45b4.yaml
 releasenotes/notes/add_thread_pool_size-a54e6f27ab019f96.yaml
 releasenotes/notes/auto-restart-client-channel-619545294557bf2b.yaml
+releasenotes/notes/drop-python27-support-6da3028c1cf099eb.yaml
 releasenotes/source/conf.py
 releasenotes/source/index.rst
 releasenotes/source/newton.rst
@@ -59,6 +62,7 @@
 releasenotes/source/queens.rst
 releasenotes/source/rocky.rst
 releasenotes/source/stein.rst
+releasenotes/source/train.rst
 releasenotes/source/unreleased.rst
 releasenotes/source/_static/.placeholder
 releasenotes/source/_templates/.placeholder
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.privsep-1.33.3/oslo.privsep.egg-info/pbr.json 
new/oslo.privsep-2.1.1/oslo.privsep.egg-info/pbr.json
--- old/oslo.privsep-1.33.3/oslo.privsep.egg-info/pbr.json      2019-09-12 
18:38:43.000000000 +0200
+++ new/oslo.privsep-2.1.1/oslo.privsep.egg-info/pbr.json       2020-04-07 
12:07:53.000000000 +0200
@@ -1 +1 @@
-{"git_version": "ddde706", "is_release": true}
\ No newline at end of file
+{"git_version": "5f49e8f", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.privsep-1.33.3/oslo.privsep.egg-info/requires.txt 
new/oslo.privsep-2.1.1/oslo.privsep.egg-info/requires.txt
--- old/oslo.privsep-1.33.3/oslo.privsep.egg-info/requires.txt  2019-09-12 
18:38:43.000000000 +0200
+++ new/oslo.privsep-2.1.1/oslo.privsep.egg-info/requires.txt   2020-04-07 
12:07:53.000000000 +0200
@@ -4,11 +4,5 @@
 oslo.utils>=3.33.0
 cffi>=1.7.0
 eventlet!=0.18.3,!=0.20.1,>=0.18.2
-greenlet>=0.4.10
-msgpack>=0.5.0
-
-[:(python_version=='2.7' or python_version=='2.6' or python_version=='3.3')]
-enum34>=1.0.4
-
-[:(python_version=='2.7' or python_version=='2.6')]
-futures>=3.1.1
+greenlet>=0.4.14
+msgpack>=0.6.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.privsep-1.33.3/oslo_privsep/comm.py 
new/oslo.privsep-2.1.1/oslo_privsep/comm.py
--- old/oslo.privsep-1.33.3/oslo_privsep/comm.py        2019-09-12 
18:38:03.000000000 +0200
+++ new/oslo.privsep-2.1.1/oslo_privsep/comm.py 2020-04-07 12:06:51.000000000 
+0200
@@ -65,7 +65,8 @@
 class Deserializer(six.Iterator):
     def __init__(self, readsock):
         self.readsock = readsock
-        self.unpacker = msgpack.Unpacker(use_list=False, encoding='utf-8',
+        self.unpacker = msgpack.Unpacker(use_list=False, raw=False,
+                                         strict_map_key=False,
                                          unicode_errors='surrogateescape')
 
     def __iter__(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.privsep-1.33.3/oslo_privsep/functional/__init__.py 
new/oslo.privsep-2.1.1/oslo_privsep/functional/__init__.py
--- old/oslo.privsep-1.33.3/oslo_privsep/functional/__init__.py 1970-01-01 
01:00:00.000000000 +0100
+++ new/oslo.privsep-2.1.1/oslo_privsep/functional/__init__.py  2020-04-07 
12:06:51.000000000 +0200
@@ -0,0 +1,8 @@
+import os.path
+
+
+def load_tests(loader, tests, pattern):
+    this_dir = os.path.dirname(__file__)
+    new_tests = loader.discover(start_dir=this_dir, pattern=pattern)
+    tests.addTests(new_tests)
+    return tests
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.privsep-1.33.3/oslo_privsep/functional/test_daemon.py 
new/oslo.privsep-2.1.1/oslo_privsep/functional/test_daemon.py
--- old/oslo.privsep-1.33.3/oslo_privsep/functional/test_daemon.py      
1970-01-01 01:00:00.000000000 +0100
+++ new/oslo.privsep-2.1.1/oslo_privsep/functional/test_daemon.py       
2020-04-07 12:06:51.000000000 +0200
@@ -0,0 +1,74 @@
+# Copyright 2019 Red Hat, Inc.
+#
+# 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 logging
+import os
+import time
+import unittest
+
+from oslo_config import fixture as config_fixture
+from oslotest import base
+
+from oslo_privsep import priv_context
+
+
+test_context = priv_context.PrivContext(
+    __name__,
+    cfg_section='privsep',
+    pypath=__name__ + '.test_context',
+    capabilities=[],
+)
+
+
+@test_context.entrypoint
+def sleep():
+    # We don't want the daemon to be able to handle these calls too fast.
+    time.sleep(.001)
+
+
+@test_context.entrypoint
+def one():
+    return 1
+
+
+@test_context.entrypoint
+def logs():
+    logging.warning('foo')
+
+
+class TestDaemon(base.BaseTestCase):
+    def setUp(self):
+        super(TestDaemon, self).setUp()
+        venv_path = os.environ['VIRTUAL_ENV']
+        self.cfg_fixture = self.useFixture(config_fixture.Config())
+        self.cfg_fixture.config(
+            group='privsep',
+            helper_command='sudo -E %s/bin/privsep-helper' % venv_path)
+        priv_context.init()
+
+    def test_concurrency(self):
+        # Throw a large number of simultaneous requests at the daemon to make
+        # sure it can can handle them.
+        for i in range(1000):
+            sleep()
+        # Make sure the daemon is still working
+        self.assertEqual(1, one())
+
+    def test_logging(self):
+        logs()
+        self.assertIn('foo', self.log_fixture.logger.output)
+
+
+if __name__ == '__main__':
+    unittest.main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.privsep-1.33.3/oslo_privsep/priv_context.py 
new/oslo.privsep-2.1.1/oslo_privsep/priv_context.py
--- old/oslo.privsep-1.33.3/oslo_privsep/priv_context.py        2019-09-12 
18:38:03.000000000 +0200
+++ new/oslo.privsep-2.1.1/oslo_privsep/priv_context.py 2020-04-07 
12:06:51.000000000 +0200
@@ -19,6 +19,7 @@
 import multiprocessing
 import shlex
 import sys
+import threading
 
 from oslo_config import cfg
 from oslo_config import types
@@ -144,6 +145,7 @@
         # The client_mode should be set to False on Windows.
         self.client_mode = sys.platform != 'win32'
         self.channel = None
+        self.start_lock = threading.Lock()
 
         cfg.CONF.register_opts(OPTS, group=cfg_section)
         cfg.CONF.set_default('capabilities', group=cfg_section,
@@ -247,18 +249,19 @@
             return func(*args, **kwargs)
 
     def start(self, method=Method.ROOTWRAP):
-        if self.channel is not None:
-            LOG.warning('privsep daemon already running')
-            return
-
-        if method is Method.ROOTWRAP:
-            channel = daemon.RootwrapClientChannel(context=self)
-        elif method is Method.FORK:
-            channel = daemon.ForkingClientChannel(context=self)
-        else:
-            raise ValueError('Unknown method: %s' % method)
+        with self.start_lock:
+            if self.channel is not None:
+                LOG.warning('privsep daemon already running')
+                return
+
+            if method is Method.ROOTWRAP:
+                channel = daemon.RootwrapClientChannel(context=self)
+            elif method is Method.FORK:
+                channel = daemon.ForkingClientChannel(context=self)
+            else:
+                raise ValueError('Unknown method: %s' % method)
 
-        self.channel = channel
+            self.channel = channel
 
     def stop(self):
         if self.channel is not None:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.privsep-1.33.3/oslo_privsep/tests/test_capabilities.py 
new/oslo.privsep-2.1.1/oslo_privsep/tests/test_capabilities.py
--- old/oslo.privsep-1.33.3/oslo_privsep/tests/test_capabilities.py     
2019-09-12 18:38:03.000000000 +0200
+++ new/oslo.privsep-2.1.1/oslo_privsep/tests/test_capabilities.py      
2020-04-07 12:06:51.000000000 +0200
@@ -12,7 +12,7 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-import mock
+from unittest import mock
 
 from oslotest import base
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.privsep-1.33.3/oslo_privsep/tests/test_daemon.py 
new/oslo.privsep-2.1.1/oslo_privsep/tests/test_daemon.py
--- old/oslo.privsep-1.33.3/oslo_privsep/tests/test_daemon.py   2019-09-12 
18:38:03.000000000 +0200
+++ new/oslo.privsep-2.1.1/oslo_privsep/tests/test_daemon.py    2020-04-07 
12:06:51.000000000 +0200
@@ -16,9 +16,10 @@
 import fixtures
 import functools
 import logging as pylogging
-import mock
 import platform
+import sys
 import time
+from unittest import mock
 
 from oslo_log import formatters
 from oslo_log import log as logging
@@ -59,6 +60,8 @@
 
 class LogRecorder(pylogging.Formatter):
     def __init__(self, logs, *args, **kwargs):
+        if sys.version_info >= (3, 8):
+            kwargs['validate'] = False
         super(LogRecorder, self).__init__(*args, **kwargs)
         self.logs = logs
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.privsep-1.33.3/oslo_privsep/tests/test_priv_context.py 
new/oslo.privsep-2.1.1/oslo_privsep/tests/test_priv_context.py
--- old/oslo.privsep-1.33.3/oslo_privsep/tests/test_priv_context.py     
2019-09-12 18:38:03.000000000 +0200
+++ new/oslo.privsep-2.1.1/oslo_privsep/tests/test_priv_context.py      
2020-04-07 12:06:51.000000000 +0200
@@ -19,8 +19,8 @@
 import platform
 import sys
 import tempfile
+from unittest import mock
 
-import mock
 import testtools
 
 from oslo_privsep import daemon
@@ -127,6 +127,16 @@
         self.assertEqual(testctx.context.helper_command('/sock')[:3],
                          ['sudo', 'rootwrap', 'privsep-helper'])
 
+    def test_start_acquires_lock(self):
+        context = priv_context.PrivContext('test', capabilities=[])
+        context.channel = "something not None"
+        context.start_lock = mock.Mock()
+        context.start_lock.__enter__ = mock.Mock()
+        context.start_lock.__exit__ = mock.Mock()
+        self.assertFalse(context.start_lock.__enter__.called)
+        context.start()
+        self.assertTrue(context.start_lock.__enter__.called)
+
 
 @testtools.skipIf(platform.system() != 'Linux',
                   'works only on Linux platform.')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.privsep-1.33.3/releasenotes/notes/drop-python27-support-6da3028c1cf099eb.yaml
 
new/oslo.privsep-2.1.1/releasenotes/notes/drop-python27-support-6da3028c1cf099eb.yaml
--- 
old/oslo.privsep-1.33.3/releasenotes/notes/drop-python27-support-6da3028c1cf099eb.yaml
      1970-01-01 01:00:00.000000000 +0100
+++ 
new/oslo.privsep-2.1.1/releasenotes/notes/drop-python27-support-6da3028c1cf099eb.yaml
       2020-04-07 12:06:51.000000000 +0200
@@ -0,0 +1,5 @@
+---
+upgrade:
+  - |
+    Support for Python 2.7 has been dropped. The minimum version of Python now
+    supported is Python 3.6.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.privsep-1.33.3/releasenotes/source/conf.py 
new/oslo.privsep-2.1.1/releasenotes/source/conf.py
--- old/oslo.privsep-1.33.3/releasenotes/source/conf.py 2019-09-12 
18:38:03.000000000 +0200
+++ new/oslo.privsep-2.1.1/releasenotes/source/conf.py  2020-04-07 
12:06:51.000000000 +0200
@@ -43,7 +43,6 @@
 repository_name = 'openstack/oslo.privsep'
 bug_project = 'oslo.privsep'
 bug_tag = ''
-html_last_updated_fmt = '%Y-%m-%d %H:%M'
 
 # Add any paths that contain templates here, relative to this directory.
 templates_path = ['_templates']
@@ -58,7 +57,6 @@
 master_doc = 'index'
 
 # General information about the project.
-project = u'oslo.privsep Release Notes'
 copyright = u'2016, oslo.privsep Developers'
 
 # Release notes do not need a version in the title, they span
@@ -194,17 +192,6 @@
 
 # -- 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]).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.privsep-1.33.3/releasenotes/source/index.rst 
new/oslo.privsep-2.1.1/releasenotes/source/index.rst
--- old/oslo.privsep-1.33.3/releasenotes/source/index.rst       2019-09-12 
18:38:03.000000000 +0200
+++ new/oslo.privsep-2.1.1/releasenotes/source/index.rst        2020-04-07 
12:06:51.000000000 +0200
@@ -6,6 +6,7 @@
     :maxdepth: 1
 
     unreleased
+    train
     stein
     rocky
     queens
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.privsep-1.33.3/releasenotes/source/train.rst 
new/oslo.privsep-2.1.1/releasenotes/source/train.rst
--- old/oslo.privsep-1.33.3/releasenotes/source/train.rst       1970-01-01 
01:00:00.000000000 +0100
+++ new/oslo.privsep-2.1.1/releasenotes/source/train.rst        2020-04-07 
12:06:51.000000000 +0200
@@ -0,0 +1,6 @@
+==========================
+Train Series Release Notes
+==========================
+
+.. release-notes::
+   :branch: stable/train
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.privsep-1.33.3/requirements.txt 
new/oslo.privsep-2.1.1/requirements.txt
--- old/oslo.privsep-1.33.3/requirements.txt    2019-09-12 18:38:03.000000000 
+0200
+++ new/oslo.privsep-2.1.1/requirements.txt     2020-04-07 12:06:51.000000000 
+0200
@@ -6,9 +6,7 @@
 oslo.i18n>=3.15.3 # Apache-2.0
 oslo.config>=5.2.0 # Apache-2.0
 oslo.utils>=3.33.0 # Apache-2.0
-enum34>=1.0.4;python_version=='2.7' or python_version=='2.6' or 
python_version=='3.3' # BSD
 cffi>=1.7.0 # MIT
 eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT
-greenlet>=0.4.10 # MIT
-msgpack>=0.5.0 # Apache-2.0
-futures>=3.1.1;python_version=='2.7' or python_version=='2.6' # PSF
+greenlet>=0.4.14 # MIT
+msgpack>=0.6.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.privsep-1.33.3/setup.cfg 
new/oslo.privsep-2.1.1/setup.cfg
--- old/oslo.privsep-1.33.3/setup.cfg   2019-09-12 18:38:43.000000000 +0200
+++ new/oslo.privsep-2.1.1/setup.cfg    2020-04-07 12:07:53.000000000 +0200
@@ -6,6 +6,7 @@
 author = OpenStack
 author-email = openstack-disc...@lists.openstack.org
 home-page = https://docs.openstack.org/oslo.privsep/latest/
+python-requires = >=3.6
 classifier = 
        Environment :: OpenStack
        Intended Audience :: Information Technology
@@ -13,38 +14,22 @@
        License :: OSI Approved :: Apache Software License
        Operating System :: POSIX :: Linux
        Programming Language :: Python
-       Programming Language :: Python :: 2
-       Programming Language :: Python :: 2.7
        Programming Language :: Python :: 3
        Programming Language :: Python :: 3.6
        Programming Language :: Python :: 3.7
+       Programming Language :: Python :: 3 :: Only
+       Programming Language :: Python :: Implementation :: CPython
 
 [files]
 packages = 
        oslo_privsep
 
-[pbr]
-autodoc_index_modules = True
-api_doc_dir = reference/api
-autodoc_exclude_modules = 
-       oslo_privsep.tests.*
-       oslo_privsep._*
-
-[build_sphinx]
-source-dir = doc/source
-build-dir = doc/build
-all_files = 1
-warning-is-error = 1
-
 [entry_points]
 console_scripts = 
        privsep-helper = oslo_privsep.daemon:helper_main
 oslo.config.opts = 
        oslo.privsep = oslo_privsep.priv_context:_list_opts
 
-[upload_sphinx]
-upload-dir = doc/build/html
-
 [compile_catalog]
 directory = oslo.privsep/locale
 domain = oslo_privsep
@@ -59,9 +44,6 @@
 mapping_file = babel.cfg
 output_file = oslo_privsep/locale/oslo_privsep.pot
 
-[wheel]
-universal = true
-
 [egg_info]
 tag_build = 
 tag_date = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.privsep-1.33.3/setup.py 
new/oslo.privsep-2.1.1/setup.py
--- old/oslo.privsep-1.33.3/setup.py    2019-09-12 18:38:03.000000000 +0200
+++ new/oslo.privsep-2.1.1/setup.py     2020-04-07 12:06:51.000000000 +0200
@@ -13,17 +13,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
 import setuptools
 
-# In python < 2.7.4, a lazy loading of package `pbr` will break
-# setuptools if some other modules registered functions in `atexit`.
-# solution from: http://bugs.python.org/issue15881#msg170215
-try:
-    import multiprocessing  # noqa
-except ImportError:
-    pass
-
 setuptools.setup(
     setup_requires=['pbr>=2.0.0'],
     pbr=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.privsep-1.33.3/test-requirements.txt 
new/oslo.privsep-2.1.1/test-requirements.txt
--- old/oslo.privsep-1.33.3/test-requirements.txt       2019-09-12 
18:38:03.000000000 +0200
+++ new/oslo.privsep-2.1.1/test-requirements.txt        2020-04-07 
12:06:51.000000000 +0200
@@ -2,9 +2,8 @@
 # of appearance. Changing the order has an impact on the overall integration
 # process, which may cause wedges in the gate later.
 
-hacking>=1.1.0,<1.2.0 # Apache-2.0
+hacking>=3.0,<3.1.0 # Apache-2.0
 oslotest>=3.2.0 # Apache-2.0
-mock>=2.0.0 # BSD
 fixtures>=3.0.0 # Apache-2.0/BSD
 stestr>=2.0.0 # Apache-2.0
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.privsep-1.33.3/tox.ini 
new/oslo.privsep-2.1.1/tox.ini
--- old/oslo.privsep-1.33.3/tox.ini     2019-09-12 18:38:03.000000000 +0200
+++ new/oslo.privsep-2.1.1/tox.ini      2020-04-07 12:06:51.000000000 +0200
@@ -1,22 +1,17 @@
 [tox]
-minversion = 2.0
-envlist = py27,py37,pypy,pep8
+minversion = 3.1.1
+envlist = py37,pypy,pep8
+ignore_basepython_conflict = true
 
 [testenv]
-install_command = pip install {opts} {packages}
-whitelist_externals =
- /bin/sh
+basepython = python3
 deps =
-  
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
+  
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
   -r{toxinidir}/test-requirements.txt
   -r{toxinidir}/requirements.txt
 commands = stestr run --slowest {posargs}
 
-[testenv:py27]
-basepython = python2.7
-
 [testenv:pep8]
-basepython = python3
 deps =
   -r{toxinidir}/test-requirements.txt
 commands =
@@ -25,22 +20,19 @@
   bandit -r oslo_privsep -x tests -n5 --skip B404,B603
 
 [testenv:venv]
-basepython = python3
 commands = {posargs}
 
 [testenv:docs]
-basepython = python3
 whitelist_externals =
   rm
 deps =
   {[testenv]deps}
   -r{toxinidir}/doc/requirements.txt
 commands =
-  rm -rf doc/build
-  sphinx-build -W -b html doc/source doc/build/html
+  rm -rf doc/build doc/source/reference/api
+  sphinx-build -W --keep-going -b html doc/source doc/build/html
 
 [testenv:cover]
-basepython = python3
 setenv =
     PYTHON=coverage run --source $project --parallel-mode
 commands =
@@ -53,9 +45,9 @@
 # E123, E125 skipped as they are invalid PEP-8.
 # [H106] Don’t put vim configuration in source files
 # [H203] Use assertIs(Not)None to check for None
-
+# [W504] line break after binary operator
 show-source = True
-ignore = E123,E125
+ignore = E123,E125,W504
 builtins = _
 exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build
 enable-extensions = H106,H203
@@ -65,12 +57,23 @@
   oslo_privsep._i18n
 
 [testenv:releasenotes]
-basepython = python3
-commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html 
releasenotes/source releasenotes/build/html
+whitelist_externals =
+  rm
+deps =
+  
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
+  -r{toxinidir}/doc/requirements.txt
+commands =
+  rm -rf releasenotes/build
+  sphinx-build -a -E -W -d releasenotes/build/doctrees --keep-going -b html 
releasenotes/source releasenotes/build/html
 
 [testenv:lower-constraints]
-basepython = python3
 deps =
   -c{toxinidir}/lower-constraints.txt
   -r{toxinidir}/test-requirements.txt
   -r{toxinidir}/requirements.txt
+
+[testenv:functional]
+basepython = python3
+setenv =
+    OS_TEST_PATH=./oslo_privsep/functional
+    OS_LOG_CAPTURE=1


Reply via email to