Hello community, here is the log from the commit of package python-oslo.service for openSUSE:Factory checked in at 2020-10-26 16:17:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-oslo.service (Old) and /work/SRC/openSUSE:Factory/.python-oslo.service.new.3463 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-oslo.service" Mon Oct 26 16:17:15 2020 rev:18 rq:841218 version:2.4.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-oslo.service/python-oslo.service.changes 2020-06-05 20:19:30.779723424 +0200 +++ /work/SRC/openSUSE:Factory/.python-oslo.service.new.3463/python-oslo.service.changes 2020-10-26 16:17:53.659011424 +0100 @@ -1,0 +2,31 @@ +Fri Oct 9 19:06:14 UTC 2020 - cloud-de...@suse.de + +- update to version 2.4.0 + - Do not import "oslo.log" in the main module + - Fix some SSL tests for wsgi module under python 3 + - Stop to use the __future__ module. + - Fix pygments style + - Use unittest.mock instead of third party mock + - Align contributing doc with oslo's policy + - Raise minimum version of eventlet to 0.25.2 + - Fix wsgi/SSL/ipv6 tests for wsgi module under python 3 + - Add py38 package metadata + - Remove the unused coding style modules + - Remove translation sections from setup.cfg + - Drop six usages + - Add release notes links to doc index + - Remove monotonic usage + - Monkey patch original current_thread _active + - Bump default tox env from py37 to py38 + - Fix wsgi SSL tests for wsgi module under python 3 + - Reactivate wsgi test related to socket option under python 3 + - Cleanup py27 support + - [goal] Migrate testing to ubuntu focal + - Align tests with monkey patch original current_thread _active + - Update master for stable/ussuri + - Add Python3 victoria unit tests + - Switch to newer openstackdocstheme and reno versions + - Fix hacking min version to 3.0.1 + - Bump bandit version + +------------------------------------------------------------------- Old: ---- oslo.service-2.1.1.tar.gz New: ---- oslo.service-2.4.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-oslo.service.spec ++++++ --- /var/tmp/diff_new_pack.FxUJwH/_old 2020-10-26 16:17:55.131012608 +0100 +++ /var/tmp/diff_new_pack.FxUJwH/_new 2020-10-26 16:17:55.135012611 +0100 @@ -20,22 +20,22 @@ %global rdo 1 %endif Name: python-oslo.service -Version: 2.1.1 +Version: 2.4.0 Release: 0 Summary: OpenStack oslo.service library License: Apache-2.0 Group: Development/Languages/Python URL: https://launchpad.net/oslo.service -Source0: https://files.pythonhosted.org/packages/source/o/oslo.service/oslo.service-2.1.1.tar.gz +Source0: https://files.pythonhosted.org/packages/source/o/oslo.service/oslo.service-2.4.0.tar.gz BuildRequires: openstack-macros BuildRequires: procps BuildRequires: python3-Paste >= 2.0.2 BuildRequires: python3-PasteDeploy >= 1.5.0 BuildRequires: python3-Routes >= 2.3.1 BuildRequires: python3-WebOb >= 1.7.1 -BuildRequires: python3-eventlet >= 0.22.0 +BuildRequires: python3-eventlet >= 0.25.2 BuildRequires: python3-fixtures >= 3.0.0 -BuildRequires: python3-greenlet >= 0.4.10 +BuildRequires: python3-greenlet >= 0.4.15 BuildRequires: python3-mock BuildRequires: python3-oslo.concurrency >= 3.25.0 BuildRequires: python3-oslo.config >= 5.1.0 @@ -45,7 +45,7 @@ BuildRequires: python3-oslotest BuildRequires: python3-pbr BuildRequires: python3-requests -BuildRequires: python3-six >= 1.10.0 +BuildRequires: python3-six BuildRequires: python3-stestr BuildRequires: python3-yappi BuildArch: noarch @@ -64,15 +64,15 @@ Requires: python3-Routes >= 2.3.1 Requires: python3-WebOb >= 1.7.1 Requires: python3-debtcollector >= 1.2.0 -Requires: python3-eventlet >= 0.22.0 +Requires: python3-eventlet >= 0.25.2 Requires: python3-fixtures >= 3.0.0 -Requires: python3-greenlet >= 0.4.10 +Requires: python3-greenlet >= 0.4.15 Requires: python3-oslo.concurrency >= 3.25.0 Requires: python3-oslo.config >= 5.1.0 Requires: python3-oslo.i18n >= 3.15.3 Requires: python3-oslo.log >= 3.36.0 Requires: python3-oslo.utils >= 3.40.2 -Requires: python3-six >= 1.10.0 +Requires: python3-six Requires: python3-yappi %description -n python3-oslo.service @@ -95,7 +95,7 @@ This package contains the documentation. %prep -%autosetup -p1 -n oslo.service-2.1.1 +%autosetup -p1 -n oslo.service-2.4.0 %py_req_cleanup %build ++++++ _service ++++++ --- /var/tmp/diff_new_pack.FxUJwH/_old 2020-10-26 16:17:55.163012634 +0100 +++ /var/tmp/diff_new_pack.FxUJwH/_new 2020-10-26 16:17:55.167012637 +0100 @@ -1,8 +1,8 @@ <services> <service mode="disabled" name="renderspec"> - <param name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/ussuri/openstack/oslo.service/oslo.service.spec.j2</param> + <param name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/victoria/openstack/oslo.service/oslo.service.spec.j2</param> <param name="output-name">python-oslo.service.spec</param> - <param name="requirements">https://opendev.org/openstack/oslo.service/raw/branch/stable/ussuri/requirements.txt</param> + <param name="requirements">https://opendev.org/openstack/oslo.service/raw/branch/stable/victoria/requirements.txt</param> <param name="changelog-email">cloud-de...@suse.de</param> <param name="changelog-provider">gh,openstack,oslo.service</param> </service> ++++++ oslo.service-2.1.1.tar.gz -> oslo.service-2.4.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/.zuul.yaml new/oslo.service-2.4.0/.zuul.yaml --- old/oslo.service-2.1.1/.zuul.yaml 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/.zuul.yaml 2020-09-11 21:18:58.000000000 +0200 @@ -3,7 +3,7 @@ - check-requirements - lib-forward-testing-python3 - openstack-lower-constraints-jobs - - openstack-python3-ussuri-jobs + - openstack-python3-victoria-jobs - periodic-stable-jobs - publish-openstack-docs-pti - release-notes-jobs-python3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/AUTHORS new/oslo.service-2.4.0/AUTHORS --- old/oslo.service-2.1.1/AUTHORS 2020-04-07 12:09:13.000000000 +0200 +++ new/oslo.service-2.4.0/AUTHORS 2020-09-11 21:19:53.000000000 +0200 @@ -89,16 +89,19 @@ Michael Still <mi...@stillhq.com> Mitsuru Kanabuchi <kanabuchi.mits...@po.ntts.co.jp> Mohammed Naser <mna...@vexxhost.com> +Moisés Guimarães de Medeiros <mogui...@redhat.com> Monty Taylor <mord...@inaugust.com> OpenStack Release Bot <infra-r...@openstack.org> Pavlo Shchelokovskyy <shchelokovs...@gmail.com> Qin Zhao <chaoc...@gmail.com> Raymond Pekowski <pekow...@gmail.com> +Rodolfo Alonso Hernandez <ralon...@redhat.com> Rohit Jaiswal <rohit.jais...@hp.com> Roman Podoliaka <rpodoly...@mirantis.com> Ronald Bradford <ronald.bradf...@gmail.com> Russell Bryant <rbry...@redhat.com> Sean Dague <sean.da...@samsung.com> +Sean McGinnis <sean.mcgin...@gmail.com> Sean McGinnis <sean_mcgin...@dell.com> Sebastian Lohff <sebastian.lo...@sap.com> Sergey Kraynev <skray...@mirantis.com> @@ -148,4 +151,5 @@ venkatamahesh <venkatamaheshko...@gmail.com> xhzhf <guoyongxh...@163.com> yan.haifeng <yanhe...@qq.com> +zhangboye <zhangb...@inspur.com> zwei <leid...@unitedstack.com> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/CONTRIBUTING.rst new/oslo.service-2.4.0/CONTRIBUTING.rst --- old/oslo.service-2.1.1/CONTRIBUTING.rst 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/CONTRIBUTING.rst 2020-09-11 21:18:58.000000000 +0200 @@ -1,3 +1,8 @@ +If you would like to contribute to the development of oslo's libraries, +first you must take a look to this page: + +https://specs.openstack.org/openstack/oslo-specs/specs/policy/contributing.html + If you would like to contribute to the development of OpenStack, you must follow the steps in this page: http://docs.openstack.org/infra/manual/developers.html diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/ChangeLog new/oslo.service-2.4.0/ChangeLog --- old/oslo.service-2.1.1/ChangeLog 2020-04-07 12:09:13.000000000 +0200 +++ new/oslo.service-2.4.0/ChangeLog 2020-09-11 21:19:53.000000000 +0200 @@ -1,6 +1,52 @@ CHANGES ======= +2.4.0 +----- + +* [goal] Migrate testing to ubuntu focal +* Bump bandit version + +2.3.2 +----- + +* Do not import "oslo.log" in the main module + +2.3.1 +----- + + +2.3.0 +----- + +* Fix wsgi SSL tests for wsgi module under python 3 +* Reactivate wsgi test related to socket option under python 3 +* Fix wsgi/SSL/ipv6 tests for wsgi module under python 3 +* Fix some SSL tests for wsgi module under python 3 +* Raise minimum version of eventlet to 0.25.2 +* Fix pygments style +* Stop to use the \_\_future\_\_ module + +2.2.0 +----- + +* Drop six usages +* Fix hacking min version to 3.0.1 +* Switch to newer openstackdocstheme and reno versions +* Remove the unused coding style modules +* Remove translation sections from setup.cfg +* Align tests with monkey patch original current\_thread \_active +* Remove monotonic usage +* Align contributing doc with oslo's policy +* Monkey patch original current\_thread \_active +* Bump default tox env from py37 to py38 +* Add py38 package metadata +* Use unittest.mock instead of third party mock +* Add release notes links to doc index +* Add Python3 victoria unit tests +* Update master for stable/ussuri +* Cleanup py27 support + 2.1.1 ----- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/PKG-INFO new/oslo.service-2.4.0/PKG-INFO --- old/oslo.service-2.1.1/PKG-INFO 2020-04-07 12:09:14.000000000 +0200 +++ new/oslo.service-2.4.0/PKG-INFO 2020-09-11 21:19:54.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: oslo.service -Version: 2.1.1 +Version: 2.4.0 Summary: oslo.service library Home-page: https://docs.openstack.org/oslo.service/latest/ Author: OpenStack @@ -50,6 +50,7 @@ Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: Implementation :: CPython Requires-Python: >=3.6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/babel.cfg new/oslo.service-2.4.0/babel.cfg --- old/oslo.service-2.1.1/babel.cfg 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/babel.cfg 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -[python: **.py] - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/doc/requirements.txt new/oslo.service-2.4.0/doc/requirements.txt --- old/oslo.service-2.1.1/doc/requirements.txt 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/doc/requirements.txt 2020-09-11 21:18:58.000000000 +0200 @@ -2,6 +2,6 @@ # 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.8.0,!=2.1.0 # BSD -reno>=2.5.0 # Apache-2.0 +openstackdocstheme>=2.2.0 # Apache-2.0 +sphinx>=2.0.0,!=2.1.0 # BSD +reno>=3.1.0 # Apache-2.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/doc/source/conf.py new/oslo.service-2.4.0/doc/source/conf.py --- old/oslo.service-2.1.1/doc/source/conf.py 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/doc/source/conf.py 2020-09-11 21:18:58.000000000 +0200 @@ -28,9 +28,9 @@ ] # openstackdocstheme options -repository_name = 'openstack/oslo.service' -bug_project = 'oslo.service' -bug_tag = '' +openstackdocs_repo_name = 'openstack/oslo.service' +openstackdocs_bug_project = 'oslo.service' +openstackdocs_bug_tag = '' # autodoc generation is a bit aggressive and a nuisance when doing heavy # text edit cycles. @@ -54,7 +54,7 @@ add_module_names = True # The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' +pygments_style = 'native' # -- Options for HTML output -------------------------------------------------- @@ -65,8 +65,6 @@ # html_static_path = ['static'] html_theme = 'openstackdocs' -html_last_updated_fmt = '%Y-%m-%d %H:%M' - # Output file base name for HTML help builder. htmlhelp_basename = '%sdoc' % project diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/doc/source/index.rst new/oslo.service-2.4.0/doc/source/index.rst --- old/oslo.service-2.1.1/doc/source/index.rst 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/doc/source/index.rst 2020-09-11 21:18:58.000000000 +0200 @@ -8,6 +8,9 @@ might need for working with SSL or WSGI, performing periodic operations, interacting with systemd, etc. +Contents +======== + .. toctree:: :maxdepth: 2 @@ -17,7 +20,16 @@ reference/index contributor/index -.. rubric:: Indices and tables + +Release Notes +============= + +Read also the `oslo.service Release Notes +<https://docs.openstack.org/releasenotes/oslo.service/>`_. + + +Indices and tables +================== * :ref:`genindex` * :ref:`modindex` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/lower-constraints.txt new/oslo.service-2.4.0/lower-constraints.txt --- old/oslo.service-2.1.1/lower-constraints.txt 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/lower-constraints.txt 2020-09-11 21:18:58.000000000 +0200 @@ -8,27 +8,23 @@ doc8==0.6.0 docutils==0.11 dulwich==0.15.0 -eventlet==0.22.0 +eventlet==0.25.2 extras==1.0.0 fasteners==0.7.0 fixtures==3.0.0 gitdb==0.6.4 GitPython==1.0.1 -greenlet==0.4.10 +greenlet==0.4.15 imagesize==0.7.1 iso8601==0.1.11 Jinja2==2.10 keystoneauth1==3.4.0 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 netaddr==0.7.18 netifaces==0.10.4 -openstackdocstheme==1.18.1 os-client-config==1.28.0 oslo.concurrency==3.25.0 oslo.config==5.1.0 @@ -48,19 +44,15 @@ python-mimeparse==1.6.0 python-subunit==1.0.0 pytz==2013.6 -PyYAML==3.12 -reno==2.5.0 +PyYAML==3.13 repoze.lru==0.7 requests==2.14.2 requestsexceptions==1.2.0 restructuredtext-lint==1.1.1 rfc3986==0.3.1 Routes==2.3.1 -six==1.10.0 smmap==0.9.0 snowballstemmer==1.2.1 -Sphinx==1.8.0 -sphinxcontrib-websupport==1.0.1 stestr==2.0.0 stevedore==1.20.0 testtools==2.2.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/oslo.service.egg-info/PKG-INFO new/oslo.service-2.4.0/oslo.service.egg-info/PKG-INFO --- old/oslo.service-2.1.1/oslo.service.egg-info/PKG-INFO 2020-04-07 12:09:13.000000000 +0200 +++ new/oslo.service-2.4.0/oslo.service.egg-info/PKG-INFO 2020-09-11 21:19:53.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: oslo.service -Version: 2.1.1 +Version: 2.4.0 Summary: oslo.service library Home-page: https://docs.openstack.org/oslo.service/latest/ Author: OpenStack @@ -50,6 +50,7 @@ Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: Implementation :: CPython Requires-Python: >=3.6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/oslo.service.egg-info/SOURCES.txt new/oslo.service-2.4.0/oslo.service.egg-info/SOURCES.txt --- old/oslo.service-2.1.1/oslo.service.egg-info/SOURCES.txt 2020-04-07 12:09:14.000000000 +0200 +++ new/oslo.service-2.4.0/oslo.service.egg-info/SOURCES.txt 2020-09-11 21:19:54.000000000 +0200 @@ -8,7 +8,6 @@ HACKING.rst LICENSE README.rst -babel.cfg lower-constraints.txt requirements.txt setup.cfg @@ -89,6 +88,7 @@ releasenotes/source/stein.rst releasenotes/source/train.rst releasenotes/source/unreleased.rst +releasenotes/source/ussuri.rst releasenotes/source/_static/.placeholder releasenotes/source/_templates/.placeholder releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/oslo.service.egg-info/pbr.json new/oslo.service-2.4.0/oslo.service.egg-info/pbr.json --- old/oslo.service-2.1.1/oslo.service.egg-info/pbr.json 2020-04-07 12:09:13.000000000 +0200 +++ new/oslo.service-2.4.0/oslo.service.egg-info/pbr.json 2020-09-11 21:19:53.000000000 +0200 @@ -1 +1 @@ -{"git_version": "b7dc0d7", "is_release": true} \ No newline at end of file +{"git_version": "58466a6", "is_release": true} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/oslo.service.egg-info/requires.txt new/oslo.service-2.4.0/oslo.service.egg-info/requires.txt --- old/oslo.service-2.1.1/oslo.service.egg-info/requires.txt 2020-04-07 12:09:13.000000000 +0200 +++ new/oslo.service-2.4.0/oslo.service.egg-info/requires.txt 2020-09-11 21:19:53.000000000 +0200 @@ -1,15 +1,14 @@ +Paste>=2.0.2 +PasteDeploy>=1.5.0 +Routes>=2.3.1 WebOb>=1.7.1 +Yappi>=1.0 debtcollector>=1.2.0 -eventlet!=0.23.0,!=0.25.0,>=0.22.0 +eventlet>=0.25.2 fixtures>=3.0.0 -greenlet>=0.4.10 -oslo.utils>=3.40.2 +greenlet>=0.4.15 oslo.concurrency>=3.25.0 oslo.config>=5.1.0 -oslo.log>=3.36.0 -six>=1.10.0 oslo.i18n>=3.15.3 -PasteDeploy>=1.5.0 -Routes>=2.3.1 -Paste>=2.0.2 -Yappi>=1.0 +oslo.log>=3.36.0 +oslo.utils>=3.40.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/oslo_service/__init__.py new/oslo.service-2.4.0/oslo_service/__init__.py --- old/oslo.service-2.1.1/oslo_service/__init__.py 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/oslo_service/__init__.py 2020-09-11 21:18:58.000000000 +0200 @@ -13,21 +13,9 @@ import os import eventlet.patcher -from oslo_log import log as logging - -time = eventlet.patcher.original('time') -LOG = logging.getLogger(__name__) - -# TODO(bnemec): When we have a minimum dependency on a version of eventlet -# that uses monotonic by default, remove this monkey patching. -if hasattr(time, 'monotonic'): - # Use builtin monotonic clock, Python 3.3+ - _monotonic = time.monotonic -else: - import monotonic - _monotonic = monotonic.monotonic +time = eventlet.patcher.original('time') def service_hub(): @@ -36,7 +24,7 @@ # uses time.time() and we need to use a monotonic timer # to ensure that things like loopingcall work properly. hub = eventlet.hubs.get_default_hub().Hub() - hub.clock = _monotonic + hub.clock = time.monotonic # get_default_hub() will return a hub that is supported on this platform hub.is_available = lambda: True return hub diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/oslo_service/eventlet_backdoor.py new/oslo.service-2.4.0/oslo_service/eventlet_backdoor.py --- old/oslo.service-2.1.1/oslo_service/eventlet_backdoor.py 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/oslo_service/eventlet_backdoor.py 2020-09-11 21:18:58.000000000 +0200 @@ -14,8 +14,6 @@ # License for the specific language governing permissions and limitations # under the License. -from __future__ import print_function - import errno import gc import logging @@ -257,6 +255,12 @@ def _main(): import eventlet eventlet.monkey_patch(all=True) + # Monkey patch the original current_thread to use the up-to-date _active + # global variable. See https://bugs.launchpad.net/bugs/1863021 and + # https://github.com/eventlet/eventlet/issues/592 + import __original_module_threading as orig_threading + import threading # noqa + orig_threading.current_thread.__globals__['_active'] = threading._active from oslo_config import cfg diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/oslo_service/loopingcall.py new/oslo.service-2.4.0/oslo_service/loopingcall.py --- old/oslo.service-2.1.1/oslo_service/loopingcall.py 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/oslo_service/loopingcall.py 2020-09-11 21:18:58.000000000 +0200 @@ -15,6 +15,7 @@ # License for the specific language governing permissions and limitations # under the License. +import functools import random import sys import time @@ -26,7 +27,6 @@ from oslo_utils import excutils from oslo_utils import reflection from oslo_utils import timeutils -import six from oslo_service._i18n import _ @@ -428,7 +428,7 @@ return self._sleep_time raise LoopingCallDone(result) - @six.wraps(f) + @functools.wraps(f) def func(*args, **kwargs): loop = DynamicLoopingCall(_func, *args, **kwargs) evt = loop.start(periodic_interval_max=self._max_sleep_time) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/oslo_service/periodic_task.py new/oslo.service-2.4.0/oslo_service/periodic_task.py --- old/oslo.service-2.1.1/oslo_service/periodic_task.py 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/oslo_service/periodic_task.py 2020-09-11 21:18:58.000000000 +0200 @@ -14,18 +14,13 @@ import copy import logging import random -import six import time +from time import monotonic as now from oslo_service._i18n import _ from oslo_service import _options from oslo_utils import reflection -if hasattr(time, 'monotonic'): - now = time.monotonic -else: - from monotonic import monotonic as now # noqa - LOG = logging.getLogger(__name__) DEFAULT_INTERVAL = 60.0 @@ -173,8 +168,7 @@ return current_time - offset + jitter -@six.add_metaclass(_PeriodicTasksMeta) -class PeriodicTasks(object): +class PeriodicTasks(metaclass=_PeriodicTasksMeta): def __init__(self, conf): super(PeriodicTasks, self).__init__() self.conf = conf diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/oslo_service/service.py new/oslo.service-2.4.0/oslo_service/service.py --- old/oslo.service-2.1.1/oslo_service/service.py 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/oslo_service/service.py 2020-09-11 21:18:58.000000000 +0200 @@ -29,7 +29,6 @@ import os import random import signal -import six import sys import time @@ -90,8 +89,7 @@ % {'service': service, 'base': ServiceBase}) -@six.add_metaclass(abc.ABCMeta) -class ServiceBase(object): +class ServiceBase(metaclass=abc.ABCMeta): """Base class for all services.""" @abc.abstractmethod @@ -126,8 +124,7 @@ return cls._instances[cls] -@six.add_metaclass(Singleton) -class SignalHandler(object): +class SignalHandler(metaclass=Singleton): def __init__(self, *args, **kwargs): super(SignalHandler, self).__init__(*args, **kwargs) @@ -829,7 +826,7 @@ :returns: instance of a launcher that was used to launch the service """ - if workers is not None and not isinstance(workers, six.integer_types): + if workers is not None and not isinstance(workers, int): raise TypeError(_("Type of workers should be int!")) if workers is not None and workers <= 0: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/oslo_service/tests/__init__.py new/oslo.service-2.4.0/oslo_service/tests/__init__.py --- old/oslo.service-2.1.1/oslo_service/tests/__init__.py 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/oslo_service/tests/__init__.py 2020-09-11 21:18:58.000000000 +0200 @@ -25,3 +25,10 @@ eventlet.monkey_patch(os=False, thread=False) else: eventlet.monkey_patch() + +# Monkey patch the original current_thread to use the up-to-date _active +# global variable. See https://bugs.launchpad.net/bugs/1863021 and +# https://github.com/eventlet/eventlet/issues/592 +import __original_module_threading as orig_threading # noqa +import threading # noqa +orig_threading.current_thread.__globals__['_active'] = threading._active diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/oslo_service/tests/eventlet_service.py new/oslo.service-2.4.0/oslo_service/tests/eventlet_service.py --- old/oslo.service-2.1.1/oslo_service/tests/eventlet_service.py 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/oslo_service/tests/eventlet_service.py 2020-09-11 21:18:58.000000000 +0200 @@ -125,6 +125,12 @@ def run(port_queue, workers=3, process_time=0): eventlet.patcher.monkey_patch() + # Monkey patch the original current_thread to use the up-to-date _active + # global variable. See https://bugs.launchpad.net/bugs/1863021 and + # https://github.com/eventlet/eventlet/issues/592 + import __original_module_threading as orig_threading # noqa + import threading # noqa + orig_threading.current_thread.__globals__['_active'] = threading._active def hi_app(environ, start_response): # Some requests need to take time to process so the connection diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/oslo_service/tests/test_eventlet_backdoor.py new/oslo.service-2.4.0/oslo_service/tests/test_eventlet_backdoor.py --- old/oslo.service-2.1.1/oslo_service/tests/test_eventlet_backdoor.py 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/oslo_service/tests/test_eventlet_backdoor.py 2020-09-11 21:18:58.000000000 +0200 @@ -14,15 +14,13 @@ # License for the specific language governing permissions and limitations # under the License. -""" -Unit Tests for eventlet backdoor -""" +"""Unit Tests for eventlet backdoor.""" import errno import os import socket +from unittest import mock import eventlet -import mock from oslo_service import eventlet_backdoor from oslo_service.tests import base diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/oslo_service/tests/test_fixture.py new/oslo.service-2.4.0/oslo_service/tests/test_fixture.py --- old/oslo.service-2.1.1/oslo_service/tests/test_fixture.py 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/oslo_service/tests/test_fixture.py 2020-09-11 21:18:58.000000000 +0200 @@ -10,7 +10,8 @@ # License for the specific language governing permissions and limitations # under the License. -import mock +from unittest import mock + from oslotest import base as test_base from oslo_service import fixture diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/oslo_service/tests/test_loopingcall.py new/oslo.service-2.4.0/oslo_service/tests/test_loopingcall.py --- old/oslo.service-2.1.1/oslo_service/tests/test_loopingcall.py 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/oslo_service/tests/test_loopingcall.py 2020-09-11 21:18:58.000000000 +0200 @@ -11,13 +11,13 @@ # 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 time +from unittest import mock import eventlet from eventlet.green import threading as greenthreading -import mock from oslotest import base as test_base -import oslo_service from oslo_service import fixture from oslo_service import loopingcall @@ -38,7 +38,7 @@ def test_monotonic_timer(self): def _raise_it(): clock = eventlet.hubs.get_hub().clock - ok = (clock == oslo_service._monotonic) + ok = (clock == time.monotonic) raise loopingcall.LoopingCallDone(ok) timer = loopingcall.FixedIntervalLoopingCall(_raise_it) @@ -48,7 +48,7 @@ # Make sure that by default the oslo_service.service_hub() kicks in, # test in the main thread hub = eventlet.hubs.get_hub() - self.assertEqual(oslo_service._monotonic, + self.assertEqual(time.monotonic, hub.clock) def test_return_false(self): @@ -172,7 +172,7 @@ def test_monotonic_timer(self): def _raise_it(): clock = eventlet.hubs.get_hub().clock - ok = (clock == oslo_service._monotonic) + ok = (clock == time.monotonic) raise loopingcall.LoopingCallDone(ok) timer = loopingcall.DynamicLoopingCall(_raise_it) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/oslo_service/tests/test_periodic.py new/oslo.service-2.4.0/oslo_service/tests/test_periodic.py --- old/oslo.service-2.1.1/oslo_service/tests/test_periodic.py 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/oslo_service/tests/test_periodic.py 2020-09-11 21:18:58.000000000 +0200 @@ -14,11 +14,10 @@ # License for the specific language governing permissions and limitations # under the License. -""" -Unit Tests for periodic_task decorator and PeriodicTasks class. -""" +"""Unit Tests for periodic_task decorator and PeriodicTasks class.""" + +from unittest import mock -import mock from testtools import matchers from oslo_service import periodic_task diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/oslo_service/tests/test_service.py new/oslo.service-2.4.0/oslo_service/tests/test_service.py --- old/oslo.service-2.1.1/oslo_service/tests/test_service.py 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/oslo_service/tests/test_service.py 2020-09-11 21:18:58.000000000 +0200 @@ -14,11 +14,7 @@ # License for the specific language governing permissions and limitations # under the License. -""" -Unit Tests for service class -""" - -from __future__ import print_function +"""Unit Tests for service class""" import logging import multiprocessing @@ -27,10 +23,10 @@ import socket import time import traceback +from unittest import mock import eventlet from eventlet import event -import mock from oslotest import base as test_base from oslo_service import service diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/oslo_service/tests/test_sslutils.py new/oslo.service-2.4.0/oslo_service/tests/test_sslutils.py --- old/oslo.service-2.1.1/oslo_service/tests/test_sslutils.py 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/oslo_service/tests/test_sslutils.py 2020-09-11 21:18:58.000000000 +0200 @@ -12,9 +12,9 @@ # License for the specific language governing permissions and limitations # under the License. -import mock import os import ssl +from unittest import mock from oslo_config import cfg diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/oslo_service/tests/test_systemd.py new/oslo.service-2.4.0/oslo_service/tests/test_systemd.py --- old/oslo.service-2.1.1/oslo_service/tests/test_systemd.py 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/oslo_service/tests/test_systemd.py 2020-09-11 21:18:58.000000000 +0200 @@ -14,8 +14,8 @@ import os import socket +from unittest import mock -import mock from oslotest import base as test_base from oslo_service import systemd diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/oslo_service/tests/test_wsgi.py new/oslo.service-2.4.0/oslo_service/tests/test_wsgi.py --- old/oslo.service-2.1.1/oslo_service/tests/test_wsgi.py 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/oslo_service/tests/test_wsgi.py 2020-09-11 21:18:58.000000000 +0200 @@ -18,14 +18,13 @@ import os import platform -import six import socket import tempfile import testtools +from unittest import mock import eventlet import eventlet.wsgi -import mock import requests import webob @@ -266,6 +265,24 @@ server.stop() +def requesting(host, port, ca_certs=None, method="POST", + content_type="application/x-www-form-urlencoded", + address_familly=socket.AF_INET): + frame = bytes("{verb} / HTTP/1.1\r\n\r\n".format(verb=method), "utf-8") + with socket.socket(address_familly, socket.SOCK_STREAM) as sock: + if ca_certs: + with eventlet.wrap_ssl(sock, ca_certs=ca_certs) as wrappedSocket: + wrappedSocket.connect((host, port)) + wrappedSocket.send(frame) + data = wrappedSocket.recv(1024).decode() + return data + else: + sock.connect((host, port)) + sock.send(frame) + data = sock.recv(1024).decode() + return data + + class TestWSGIServerWithSSL(WsgiTestCase): """WSGI server with SSL tests.""" @@ -274,31 +291,33 @@ cert_file_name = os.path.join(SSL_CERT_DIR, 'certificate.crt') key_file_name = os.path.join(SSL_CERT_DIR, 'privatekey.key') eventlet.monkey_patch(os=False, thread=False) + self.host = "127.0.0.1" self.config(cert_file=cert_file_name, key_file=key_file_name, group=sslutils.config_section) - @testtools.skipIf(six.PY3, "bug/1482633: test hangs on Python 3") def test_ssl_server(self): def test_app(env, start_response): start_response('200 OK', {}) return ['PONG'] fake_ssl_server = wsgi.Server(self.conf, "fake_ssl", test_app, - host="127.0.0.1", port=0, use_ssl=True) + host=self.host, port=0, use_ssl=True) fake_ssl_server.start() self.assertNotEqual(0, fake_ssl_server.port) - response = requests.post( - 'https://127.0.0.1:%s/' % fake_ssl_server.port, - verify=os.path.join(SSL_CERT_DIR, 'ca.crt'), data='PING') - self.assertEqual('PONG', response.text) + response = requesting( + method='GET', + host=self.host, + port=fake_ssl_server.port, + ca_certs=os.path.join(SSL_CERT_DIR, 'ca.crt'), + ) + self.assertEqual('PONG', response[-4:]) fake_ssl_server.stop() fake_ssl_server.wait() - @testtools.skipIf(six.PY3, "bug/1482633: test hangs on Python 3") def test_two_servers(self): def test_app(env, start_response): start_response('200 OK', {}) @@ -314,14 +333,20 @@ fake_server.start() self.assertNotEqual(0, fake_server.port) - response = requests.post( - 'https://127.0.0.1:%s/' % fake_ssl_server.port, - verify=os.path.join(SSL_CERT_DIR, 'ca.crt'), data='PING') - self.assertEqual('PONG', response.text) - - response = requests.post( - 'http://127.0.0.1:%s/' % fake_server.port, data='PING') - self.assertEqual('PONG', response.text) + response = requesting( + method='GET', + host='127.0.0.1', + port=fake_ssl_server.port, + ca_certs=os.path.join(SSL_CERT_DIR, 'ca.crt'), + ) + self.assertEqual('PONG', response[-4:]) + + response = requesting( + method='GET', + host='127.0.0.1', + port=fake_server.port, + ) + self.assertEqual('PONG', response[-4:]) fake_ssl_server.stop() fake_ssl_server.wait() @@ -332,7 +357,6 @@ @testtools.skipIf(platform.mac_ver()[0] != '', 'SO_REUSEADDR behaves differently ' 'on OSX, see bug 1436895') - @testtools.skipIf(six.PY3, "bug/1482633: test hangs on Python 3") def test_socket_options_for_ssl_server(self): # test normal socket options has set properly self.config(tcp_keepidle=500) @@ -351,9 +375,6 @@ server.stop() server.wait() - @testtools.skipIf(not netutils.is_ipv6_enabled(), "no ipv6 support") - @testtools.skipIf(six.PY3, "bug/1482633: test hangs on Python 3") - @testtools.skip("using raw IPv6 addresses with SSL certs is broken") def test_app_using_ipv6_and_ssl(self): greetings = 'Hello, World!!!' @@ -369,9 +390,14 @@ server.start() - response = requests.get('https://[::1]:%d/' % server.port, - verify=os.path.join(SSL_CERT_DIR, 'ca.crt')) - self.assertEqual(greetings, response.text) + response = requesting( + method='GET', + host='::1', + port=server.port, + ca_certs=os.path.join(SSL_CERT_DIR, 'ca.crt'), + address_familly=socket.AF_INET6 + ) + self.assertEqual(greetings, response[-15:]) server.stop() server.wait() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/oslo_service/wsgi.py new/oslo.service-2.4.0/oslo_service/wsgi.py --- old/oslo.service-2.1.1/oslo_service/wsgi.py 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/oslo_service/wsgi.py 2020-09-11 21:18:58.000000000 +0200 @@ -17,8 +17,6 @@ """Utility methods for working with WSGI servers.""" -from __future__ import print_function - import copy import os import socket diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/releasenotes/source/conf.py new/oslo.service-2.4.0/releasenotes/source/conf.py --- old/oslo.service-2.1.1/releasenotes/source/conf.py 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/releasenotes/source/conf.py 2020-09-11 21:18:58.000000000 +0200 @@ -40,9 +40,10 @@ ] # openstackdocstheme options -repository_name = 'openstack/oslo.service' -bug_project = 'oslo.service' -bug_tag = '' +openstackdocs_repo_name = 'openstack/oslo.service' +openstackdocs_bug_project = 'oslo.service' +openstackdocs_bug_tag = '' +openstackdocs_auto_name = False # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] @@ -97,7 +98,7 @@ # show_authors = False # The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' +pygments_style = 'native' # A list of ignored prefixes for module index sorting. # modindex_common_prefix = [] @@ -146,10 +147,6 @@ # 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 = '%Y-%m-%d %H:%M' - # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. # html_use_smartypants = True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/releasenotes/source/index.rst new/oslo.service-2.4.0/releasenotes/source/index.rst --- old/oslo.service-2.1.1/releasenotes/source/index.rst 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/releasenotes/source/index.rst 2020-09-11 21:18:58.000000000 +0200 @@ -6,6 +6,7 @@ :maxdepth: 1 unreleased + ussuri train stein rocky diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/releasenotes/source/ussuri.rst new/oslo.service-2.4.0/releasenotes/source/ussuri.rst --- old/oslo.service-2.1.1/releasenotes/source/ussuri.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/oslo.service-2.4.0/releasenotes/source/ussuri.rst 2020-09-11 21:18:58.000000000 +0200 @@ -0,0 +1,6 @@ +=========================== +Ussuri Series Release Notes +=========================== + +.. release-notes:: + :branch: stable/ussuri diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/requirements.txt new/oslo.service-2.4.0/requirements.txt --- old/oslo.service-2.1.1/requirements.txt 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/requirements.txt 2020-09-11 21:18:58.000000000 +0200 @@ -4,14 +4,13 @@ WebOb>=1.7.1 # MIT debtcollector>=1.2.0 # Apache 2.0 -eventlet>=0.22.0,!=0.23.0,!=0.25.0 # MIT +eventlet>=0.25.2 # MIT fixtures>=3.0.0 # Apache-2.0/BSD -greenlet>=0.4.10 # MIT +greenlet>=0.4.15 # MIT oslo.utils>=3.40.2 # Apache-2.0 oslo.concurrency>=3.25.0 # Apache-2.0 oslo.config>=5.1.0 # Apache-2.0 oslo.log>=3.36.0 # Apache-2.0 -six>=1.10.0 # MIT oslo.i18n>=3.15.3 # Apache-2.0 PasteDeploy>=1.5.0 # MIT Routes>=2.3.1 # MIT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/setup.cfg new/oslo.service-2.4.0/setup.cfg --- old/oslo.service-2.1.1/setup.cfg 2020-04-07 12:09:14.000000000 +0200 +++ new/oslo.service-2.4.0/setup.cfg 2020-09-11 21:19:54.000000000 +0200 @@ -17,6 +17,7 @@ Programming Language :: Python :: 3 Programming Language :: Python :: 3.6 Programming Language :: Python :: 3.7 + Programming Language :: Python :: 3.8 Programming Language :: Python :: 3 :: Only Programming Language :: Python :: Implementation :: CPython @@ -31,28 +32,9 @@ oslo.service.sslutils = oslo_service.sslutils:list_opts oslo.service.wsgi = oslo_service.wsgi:list_opts -[build_sphinx] -warning-is-error = 1 -source-dir = doc/source -build-dir = doc/build - [upload_sphinx] upload-dir = doc/build/html -[compile_catalog] -directory = oslo_service/locale -domain = oslo_service - -[update_catalog] -domain = oslo_service -output_dir = oslo_service/locale -input_file = oslo_service/locale/oslo_service.pot - -[extract_messages] -keywords = _ gettext ngettext l_ lazy_gettext -mapping_file = babel.cfg -output_file = oslo_service/locale/oslo_service.pot - [egg_info] tag_build = tag_date = 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/test-requirements.txt new/oslo.service-2.4.0/test-requirements.txt --- old/oslo.service-2.1.1/test-requirements.txt 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/test-requirements.txt 2020-09-11 21:18:58.000000000 +0200 @@ -3,8 +3,7 @@ # process, which may cause wedges in the gate later. fixtures>=3.0.0 # Apache-2.0/BSD -hacking>=3.0,<3.1.0 # Apache-2.0 -mock>=2.0.0 # BSD +hacking>=3.0.1,<3.1.0 # Apache-2.0 oslotest>=3.2.0 # Apache-2.0 requests>=2.14.2 # Apache-2.0 stestr>=2.0.0 # Apache-2.0 @@ -14,4 +13,4 @@ coverage!=4.4,>=4.0 # Apache-2.0 # Bandit security code scanner -bandit>=1.1.0,<1.6.0 # Apache-2.0 +bandit>=1.6.0,<1.7.0 # Apache-2.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-2.1.1/tox.ini new/oslo.service-2.4.0/tox.ini --- old/oslo.service-2.1.1/tox.ini 2020-04-07 12:07:58.000000000 +0200 +++ new/oslo.service-2.4.0/tox.ini 2020-09-11 21:18:58.000000000 +0200 @@ -1,6 +1,6 @@ [tox] minversion = 3.2.0 -envlist = py37,pep8,bandit +envlist = py38,pep8,bandit ignore_basepython_conflict = true [testenv]