Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-stevedore for 
openSUSE:Factory checked in at 2021-05-05 20:39:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-stevedore (Old)
 and      /work/SRC/openSUSE:Factory/.python-stevedore.new.2988 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-stevedore"

Wed May  5 20:39:34 2021 rev:37 rq:890006 version:3.3.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-stevedore/python-stevedore.changes        
2020-10-22 14:20:13.318639256 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-stevedore.new.2988/python-stevedore.changes  
    2021-05-05 20:39:34.747024878 +0200
@@ -1,0 +2,10 @@
+Sun May  2 17:26:02 UTC 2021 - [email protected]
+
+- update to version 3.3.0
+  - Add Python3 wallaby unit tests
+  - Fix cache dir flooding when running from /tmp
+  - Use py3 as the default runtime for tox
+  - Adding pre-commit
+  - Update master for stable/victoria
+
+-------------------------------------------------------------------

Old:
----
  stevedore-3.2.2.tar.gz

New:
----
  stevedore-3.3.0.tar.gz

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

Other differences:
------------------
++++++ python-stevedore.spec ++++++
--- /var/tmp/diff_new_pack.XE7cSo/_old  2021-05-05 20:39:35.331022372 +0200
+++ /var/tmp/diff_new_pack.XE7cSo/_new  2021-05-05 20:39:35.335022354 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-stevedore
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,13 +17,13 @@
 
 
 Name:           python-stevedore
-Version:        3.2.2
+Version:        3.3.0
 Release:        0
 Summary:        Manage dynamic plugins for Python applications
 License:        Apache-2.0
 Group:          Development/Languages/Python
-URL:            https://docs.openstack.org/developer/stevedore/
-Source0:        
https://files.pythonhosted.org/packages/source/s/stevedore/stevedore-3.2.2.tar.gz
+URL:            https://docs.openstack.org/stevedore/latest/
+Source0:        
https://files.pythonhosted.org/packages/source/s/stevedore/stevedore-3.3.0.tar.gz
 BuildRequires:  openstack-macros
 BuildRequires:  python3-docutils
 BuildRequires:  python3-mock
@@ -45,8 +45,7 @@
 
 %package -n python3-stevedore
 Summary:        Manage dynamic plugins for Python applications
-Group:          Development/Languages/Python
-Requires:       python3-importlib-metadata >= 1.7.0
+Requires:       python3-importlib-metadata
 Requires:       python3-pbr >= 2.0.0
 Requires:       python3-six
 
@@ -67,7 +66,6 @@
 Summary:        Documentation for %{name}
 Group:          Documentation/HTML
 BuildRequires:  python3-Sphinx
-Provides:       %{python_module stevedore-doc = %{version}}
 
 %description -n python-stevedore-doc
 Python makes loading code dynamically easy, allowing you to configure
@@ -90,7 +88,7 @@
 %py3_build
 
 # generate html docs
-PBR_VERSION=3.2.2 PYTHONPATH=. %sphinx_build -b html doc/source doc/build/html
+PBR_VERSION=3.3.0 PYTHONPATH=. %sphinx_build -b html doc/source doc/build/html
 # remove the Sphinx-build leftovers
 rm -rf doc/build/html/.{doctrees,buildinfo}
 

++++++ _service ++++++
--- /var/tmp/diff_new_pack.XE7cSo/_old  2021-05-05 20:39:35.359022251 +0200
+++ /var/tmp/diff_new_pack.XE7cSo/_new  2021-05-05 20:39:35.359022251 +0200
@@ -1,8 +1,8 @@
 <services>
   <service mode="disabled" name="renderspec">
-    <param 
name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/victoria/openstack/stevedore/stevedore.spec.j2</param>
+    <param 
name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/wallaby/openstack/stevedore/stevedore.spec.j2</param>
     <param name="output-name">python-stevedore.spec</param>
-    <param 
name="requirements">https://opendev.org/openstack/stevedore/raw/branch/stable/victoria/requirements.txt</param>
+    <param 
name="requirements">https://opendev.org/openstack/stevedore/raw/branch/stable/wallaby/requirements.txt</param>
     <param name="changelog-email">[email protected]</param>
     <param name="changelog-provider">gh,openstack,stevedore</param>
   </service>

++++++ stevedore-3.2.2.tar.gz -> stevedore-3.3.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/.pre-commit-config.yaml 
new/stevedore-3.3.0/.pre-commit-config.yaml
--- old/stevedore-3.2.2/.pre-commit-config.yaml 1970-01-01 01:00:00.000000000 
+0100
+++ new/stevedore-3.3.0/.pre-commit-config.yaml 2020-11-30 18:56:59.000000000 
+0100
@@ -0,0 +1,35 @@
+---
+default_language_version:
+  # force all unspecified python hooks to run python3
+  python: python3
+repos:
+  - repo: https://github.com/pre-commit/pre-commit-hooks
+    rev: v3.1.0
+    hooks:
+      - id: trailing-whitespace
+      # Replaces or checks mixed line ending
+      - id: mixed-line-ending
+        args: ['--fix', 'lf']
+        exclude: '.*\.(svg)$'
+      # Forbid files which have a UTF-8 byte-order marker
+      - id: check-byte-order-marker
+      # Checks that non-binary executables have a proper shebang
+      - id: check-executables-have-shebangs
+      # Check for files that contain merge conflict strings.
+      - id: check-merge-conflict
+      # Check for debugger imports and py37+ breakpoint()
+      # calls in python source
+      - id: debug-statements
+      - id: check-yaml
+        files: .*\.(yaml|yml)$
+  - repo: https://github.com/Lucas-C/pre-commit-hooks
+    rev: v1.1.7
+    hooks:
+      - id: remove-tabs
+        exclude: '.*\.(svg)$'
+  - repo: https://gitlab.com/pycqa/flake8
+    rev: 3.8.3
+    hooks:
+      - id: flake8
+        additional_dependencies:
+          - hacking>=3.0.1,<3.1.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/.zuul.yaml 
new/stevedore-3.3.0/.zuul.yaml
--- old/stevedore-3.2.2/.zuul.yaml      2020-09-11 21:19:46.000000000 +0200
+++ new/stevedore-3.3.0/.zuul.yaml      2020-11-30 18:56:59.000000000 +0100
@@ -3,7 +3,7 @@
       - check-requirements
       - lib-forward-testing-python3
       - openstack-lower-constraints-jobs
-      - openstack-python3-victoria-jobs
+      - openstack-python3-wallaby-jobs
       - periodic-stable-jobs
       - publish-openstack-docs-pti
       - release-notes-jobs-python3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/AUTHORS new/stevedore-3.3.0/AUTHORS
--- old/stevedore-3.2.2/AUTHORS 2020-09-11 21:22:08.000000000 +0200
+++ new/stevedore-3.3.0/AUTHORS 2020-11-30 18:57:32.000000000 +0100
@@ -1,5 +1,6 @@
 Abhishek Chanda <[email protected]>
 Andreas Jaeger <[email protected]>
+Artem Goncharov <[email protected]>
 Bernhard M. Wiedemann <[email protected]>
 Cao Xuan Hoang <[email protected]>
 ChangBo Guo(gcb) <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/ChangeLog 
new/stevedore-3.3.0/ChangeLog
--- old/stevedore-3.2.2/ChangeLog       2020-09-11 21:22:08.000000000 +0200
+++ new/stevedore-3.3.0/ChangeLog       2020-11-30 18:57:32.000000000 +0100
@@ -1,6 +1,15 @@
 CHANGES
 =======
 
+3.3.0
+-----
+
+* Use py3 as the default runtime for tox
+* Adding pre-commit
+* Fix cache dir flooding when running from /tmp
+* Add Python3 wallaby unit tests
+* Update master for stable/victoria
+
 3.2.2
 -----
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/PKG-INFO new/stevedore-3.3.0/PKG-INFO
--- old/stevedore-3.2.2/PKG-INFO        2020-09-11 21:22:09.000000000 +0200
+++ new/stevedore-3.3.0/PKG-INFO        2020-11-30 18:57:32.562201300 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: stevedore
-Version: 3.2.2
+Version: 3.3.0
 Summary: Manage dynamic plugins for Python applications
 Home-page: https://docs.openstack.org/stevedore/latest/
 Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/doc/Makefile 
new/stevedore-3.3.0/doc/Makefile
--- old/stevedore-3.2.2/doc/Makefile    2020-09-11 21:19:46.000000000 +0200
+++ new/stevedore-3.3.0/doc/Makefile    2020-11-30 18:56:59.000000000 +0100
@@ -17,137 +17,137 @@
 .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp 
epub latex latexpdf text man changes linkcheck doctest gettext
 
 help:
-       @echo "Please use \`make <target>' where <target> is one of"
-       @echo "  html       to make standalone HTML files"
-       @echo "  dirhtml    to make HTML files named index.html in directories"
-       @echo "  singlehtml to make a single large HTML file"
-       @echo "  pickle     to make pickle files"
-       @echo "  json       to make JSON files"
-       @echo "  htmlhelp   to make HTML files and a HTML help project"
-       @echo "  qthelp     to make HTML files and a qthelp project"
-       @echo "  devhelp    to make HTML files and a Devhelp project"
-       @echo "  epub       to make an epub"
-       @echo "  latex      to make LaTeX files, you can set PAPER=a4 or 
PAPER=letter"
-       @echo "  latexpdf   to make LaTeX files and run them through pdflatex"
-       @echo "  text       to make text files"
-       @echo "  man        to make manual pages"
-       @echo "  texinfo    to make Texinfo files"
-       @echo "  info       to make Texinfo files and run them through makeinfo"
-       @echo "  gettext    to make PO message catalogs"
-       @echo "  changes    to make an overview of all changed/added/deprecated 
items"
-       @echo "  linkcheck  to check all external links for integrity"
-       @echo "  doctest    to run all doctests embedded in the documentation 
(if enabled)"
+    @echo "Please use \`make <target>' where <target> is one of"
+    @echo "  html       to make standalone HTML files"
+    @echo "  dirhtml    to make HTML files named index.html in directories"
+    @echo "  singlehtml to make a single large HTML file"
+    @echo "  pickle     to make pickle files"
+    @echo "  json       to make JSON files"
+    @echo "  htmlhelp   to make HTML files and a HTML help project"
+    @echo "  qthelp     to make HTML files and a qthelp project"
+    @echo "  devhelp    to make HTML files and a Devhelp project"
+    @echo "  epub       to make an epub"
+    @echo "  latex      to make LaTeX files, you can set PAPER=a4 or 
PAPER=letter"
+    @echo "  latexpdf   to make LaTeX files and run them through pdflatex"
+    @echo "  text       to make text files"
+    @echo "  man        to make manual pages"
+    @echo "  texinfo    to make Texinfo files"
+    @echo "  info       to make Texinfo files and run them through makeinfo"
+    @echo "  gettext    to make PO message catalogs"
+    @echo "  changes    to make an overview of all changed/added/deprecated 
items"
+    @echo "  linkcheck  to check all external links for integrity"
+    @echo "  doctest    to run all doctests embedded in the documentation (if 
enabled)"
 
 clean:
-       -rm -rf $(BUILDDIR)/*
+    -rm -rf $(BUILDDIR)/*
 
 html:
-       $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
-       @echo
-       @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+    $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+    @echo
+    @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
 
 dirhtml:
-       $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
-       @echo
-       @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+    $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+    @echo
+    @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
 
 singlehtml:
-       $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
-       @echo
-       @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
+    $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
+    @echo
+    @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
 
 pickle:
-       $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
-       @echo
-       @echo "Build finished; now you can process the pickle files."
+    $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+    @echo
+    @echo "Build finished; now you can process the pickle files."
 
 json:
-       $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
-       @echo
-       @echo "Build finished; now you can process the JSON files."
+    $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+    @echo
+    @echo "Build finished; now you can process the JSON files."
 
 htmlhelp:
-       $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
-       @echo
-       @echo "Build finished; now you can run HTML Help Workshop with the" \
-             ".hhp project file in $(BUILDDIR)/htmlhelp."
+    $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+    @echo
+    @echo "Build finished; now you can run HTML Help Workshop with the" \
+          ".hhp project file in $(BUILDDIR)/htmlhelp."
 
 qthelp:
-       $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
-       @echo
-       @echo "Build finished; now you can run "qcollectiongenerator" with the" 
\
-             ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
-       @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/stevedore.qhcp"
-       @echo "To view the help file:"
-       @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/stevedore.qhc"
+    $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+    @echo
+    @echo "Build finished; now you can run "qcollectiongenerator" with the" \
+          ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+    @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/stevedore.qhcp"
+    @echo "To view the help file:"
+    @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/stevedore.qhc"
 
 devhelp:
-       $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
-       @echo
-       @echo "Build finished."
-       @echo "To view the help file:"
-       @echo "# mkdir -p $$HOME/.local/share/devhelp/stevedore"
-       @echo "# ln -s $(BUILDDIR)/devhelp 
$$HOME/.local/share/devhelp/stevedore"
-       @echo "# devhelp"
+    $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
+    @echo
+    @echo "Build finished."
+    @echo "To view the help file:"
+    @echo "# mkdir -p $$HOME/.local/share/devhelp/stevedore"
+    @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/stevedore"
+    @echo "# devhelp"
 
 epub:
-       $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
-       @echo
-       @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
+    $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
+    @echo
+    @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
 
 latex:
-       $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
-       @echo
-       @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
-       @echo "Run \`make' in that directory to run these through (pdf)latex" \
-             "(use \`make latexpdf' here to do that automatically)."
+    $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+    @echo
+    @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+    @echo "Run \`make' in that directory to run these through (pdf)latex" \
+          "(use \`make latexpdf' here to do that automatically)."
 
 latexpdf:
-       $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
-       @echo "Running LaTeX files through pdflatex..."
-       $(MAKE) -C $(BUILDDIR)/latex all-pdf
-       @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+    $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+    @echo "Running LaTeX files through pdflatex..."
+    $(MAKE) -C $(BUILDDIR)/latex all-pdf
+    @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
 
 text:
-       $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
-       @echo
-       @echo "Build finished. The text files are in $(BUILDDIR)/text."
+    $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
+    @echo
+    @echo "Build finished. The text files are in $(BUILDDIR)/text."
 
 man:
-       $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
-       @echo
-       @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
+    $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
+    @echo
+    @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
 
 texinfo:
-       $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
-       @echo
-       @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
-       @echo "Run \`make' in that directory to run these through makeinfo" \
-             "(use \`make info' here to do that automatically)."
+    $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+    @echo
+    @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
+    @echo "Run \`make' in that directory to run these through makeinfo" \
+          "(use \`make info' here to do that automatically)."
 
 info:
-       $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
-       @echo "Running Texinfo files through makeinfo..."
-       make -C $(BUILDDIR)/texinfo info
-       @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
+    $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+    @echo "Running Texinfo files through makeinfo..."
+    make -C $(BUILDDIR)/texinfo info
+    @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
 
 gettext:
-       $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
-       @echo
-       @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
+    $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
+    @echo
+    @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
 
 changes:
-       $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
-       @echo
-       @echo "The overview file is in $(BUILDDIR)/changes."
+    $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+    @echo
+    @echo "The overview file is in $(BUILDDIR)/changes."
 
 linkcheck:
-       $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
-       @echo
-       @echo "Link check complete; look for any errors in the above output " \
-             "or in $(BUILDDIR)/linkcheck/output.txt."
+    $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+    @echo
+    @echo "Link check complete; look for any errors in the above output " \
+          "or in $(BUILDDIR)/linkcheck/output.txt."
 
 doctest:
-       $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
-       @echo "Testing of doctests in the sources finished, look at the " \
-             "results in $(BUILDDIR)/doctest/output.txt."
+    $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+    @echo "Testing of doctests in the sources finished, look at the " \
+          "results in $(BUILDDIR)/doctest/output.txt."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/doc/source/conf.py 
new/stevedore-3.3.0/doc/source/conf.py
--- old/stevedore-3.2.2/doc/source/conf.py      2020-09-11 21:19:46.000000000 
+0200
+++ new/stevedore-3.3.0/doc/source/conf.py      2020-11-30 18:56:59.000000000 
+0100
@@ -1,9 +1,24 @@
 # -*- coding: utf-8 -*-
+# Copyright (C) 2020 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.
 #
 # stevedore documentation build configuration file, created by
 # sphinx-quickstart on Sun Jul 22 14:01:09 2012.
 #
-# This file is execfile()d with the current directory set to its containing 
dir.
+# This file is execfile()d with the current directory set to its
+# containing dir.
 #
 # Note that not all possible configuration values are present in this
 # autogenerated file.
@@ -11,30 +26,28 @@
 # All configuration values have a default; values that are commented out
 # serve to show the default.
 
-import datetime
-
-# make openstackdocstheme an optional dependency. stevedore is a low level lib
+# make openstackdocstheme an optional dependency. stevedore is a
+# low level lib
 # that is used outside of OpenStack. Not having something OpenStack specific
 # as build requirement is a good thing.
 try:
-    import openstackdocstheme
+    import openstackdocstheme  # noqa
 except ImportError:
     has_openstackdocstheme = False
 else:
     has_openstackdocstheme = True
 
-# If extensions (or modules to document with autodoc) are in another directory,
+# If extensions (or modules to document with autodoc)
+# are in another directory,
 # add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
-#sys.path.insert(0, os.path.abspath('.'))
+# documentation root, use os.path.abspath to make it absolute,
+# like shown here.sys.path.insert(0, os.path.abspath('.'))
 
-# -- General configuration 
-----------------------------------------------------
+# -- General configuration -----------------------------------------
 
-# If your documentation needs a minimal Sphinx version, state it here.
-#needs_sphinx = '1.0'
-
-# Add any Sphinx extension module names here, as strings. They can be 
extensions
-# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+# Add any Sphinx extension module names here, as strings.
+# They can be extensions coming with Sphinx (named 'sphinx.ext.*')
+# or your custom ones.
 extensions = [
     'sphinx.ext.autodoc',
     'sphinx.ext.todo',
@@ -57,9 +70,6 @@
 # The suffix of source filenames.
 source_suffix = '.rst'
 
-# The encoding of source files.
-#source_encoding = 'utf-8-sig'
-
 # The master toctree document.
 master_doc = 'index'
 
@@ -68,195 +78,64 @@
 copyright = u'2016, DreamHost'
 
 
-# The language for content autogenerated by Sphinx. Refer to documentation
-# for a list of supported languages.
-#language = None
-
-# There are two options for replacing |today|: either, you set today to some
-# non-false value, then it is used:
-#today = ''
-# Else, today_fmt is used as the format for a strftime call.
-#today_fmt = '%B %d, %Y'
-
 # List of patterns, relative to source directory, that match files and
 # directories to ignore when looking for source files.
 exclude_patterns = []
 
-# The reST default role (used for this markup: `text`) to use for all 
documents.
-#default_role = None
-
-# If true, '()' will be appended to :func: etc. cross-reference text.
-#add_function_parentheses = True
-
-# If true, the current module name will be prepended to all description
-# unit titles (such as .. function::).
-#add_module_names = True
-
-# If true, sectionauthor and moduleauthor directives will be shown in the
-# output. They are ignored by default.
-#show_authors = False
-
 # The name of the Pygments (syntax highlighting) style to use.
 pygments_style = 'native'
 
-# A list of ignored prefixes for module index sorting.
-#modindex_common_prefix = []
-
-
-# -- Options for HTML output 
---------------------------------------------------
+# -- Options for HTML output ------------------------------------------
 
 # The theme to use for HTML and HTML Help pages.  See the documentation for
 # a list of builtin themes.
-#html_theme = 'default'
 if has_openstackdocstheme:
     html_theme = 'openstackdocs'
 
-# Theme options are theme-specific and customize the look and feel of a theme
-# further.  For a list of options available for each theme, see the
-# documentation.
-#html_theme_options = {}
-
-# Add any paths that contain custom themes here, relative to this directory.
-#html_theme_path = []
-
-# The name for this set of Sphinx documents.  If None, it defaults to
-# "<project> v<release> documentation".
-#html_title = None
-
-# A shorter title for the navigation bar.  Default is the same as html_title.
-#html_short_title = None
-
-# The name of an image file (relative to this directory) to place at the top
-# of the sidebar.
-#html_logo = None
-
-# The name of an image file (within the static path) to use as favicon of the
-# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
-# pixels large.
-#html_favicon = None
-
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-#html_static_path = ['_static']
-
-# If true, SmartyPants will be used to convert quotes and dashes to
-# typographically correct entities.
-#html_use_smartypants = True
-
-# Custom sidebar templates, maps document names to template names.
-#html_sidebars = {}
-
-# Additional templates that should be rendered to pages, maps page names to
-# template names.
-#html_additional_pages = {}
-
-# If false, no module index is generated.
-#html_domain_indices = True
-
-# If false, no index is generated.
-#html_use_index = True
-
-# If true, the index is split into individual pages for each letter.
-#html_split_index = False
-
-# If true, links to the reST sources are added to the pages.
-#html_show_sourcelink = True
-
-# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
-#html_show_sphinx = True
-
-# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
-#html_show_copyright = True
-
-# If true, an OpenSearch description file will be output, and all pages will
-# contain a <link> tag referring to it.  The value of this option must be the
-# base URL from which the finished HTML is served.
-#html_use_opensearch = ''
-
-# This is the file name suffix for HTML files (e.g. ".xhtml").
-#html_file_suffix = None
-
 # Output file base name for HTML help builder.
 htmlhelp_basename = 'stevedoredoc'
 
 
-# -- Options for LaTeX output 
--------------------------------------------------
-
-latex_elements = {
-# The paper size ('letterpaper' or 'a4paper').
-#'papersize': 'letterpaper',
+# -- Options for LaTeX output ----------------------------------------
 
-# The font size ('10pt', '11pt' or '12pt').
-#'pointsize': '10pt',
-
-# Additional stuff for the LaTeX preamble.
-#'preamble': '',
-}
+latex_elements = {}
 
 # Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title, author, documentclass 
[howto/manual]).
+# (source start file, target name, title, author,
+# documentclass [howto/manual]).
 latex_documents = [
-  ('index', 'stevedore.tex', u'stevedore Documentation',
-   u'DreamHost', 'manual'),
+    (
+        'index',
+        'stevedore.tex',
+        u'stevedore Documentation',
+        u'DreamHost',
+        'manual'
+    ),
 ]
 
-# The name of an image file (relative to this directory) to place at the top of
-# the title page.
-#latex_logo = None
-
-# For "manual" documents, if this is true, then toplevel headings are parts,
-# not chapters.
-#latex_use_parts = False
-
-# If true, show page references after internal links.
-#latex_show_pagerefs = False
-
-# If true, show URL addresses after external links.
-#latex_show_urls = False
-
-# Documents to append as an appendix to all manuals.
-#latex_appendices = []
-
-# If false, no module index is generated.
-#latex_domain_indices = True
-
-
-# -- Options for manual page output 
--------------------------------------------
-
-# One entry per manual page. List of tuples
-# (source start file, name, description, authors, manual section).
-# man_pages = [
-#     ('index', 'stevedore', u'stevedore Documentation',
-#      [u'DreamHost'], 1)
-# ]
-
-# If true, show URL addresses after external links.
-#man_show_urls = False
-
-
-# -- Options for Texinfo output 
------------------------------------------------
+# -- Options for Texinfo output -------------------------------------
 
 # Grouping the document tree into Texinfo files. List of tuples
 # (source start file, target name, title, author,
 #  dir menu entry, description, category)
 texinfo_documents = [
-  ('index', 'stevedore', u'stevedore Documentation',
-   u'DreamHost', 'stevedore', 'One line description of project.',
-   'Miscellaneous'),
+    (
+        'index',
+        'stevedore',
+        u'stevedore Documentation',
+        u'DreamHost',
+        'stevedore',
+        'One line description of project.',
+        'Miscellaneous'
+    ),
 ]
 
-# Documents to append as an appendix to all manuals.
-#texinfo_appendices = []
-
-# If false, no module index is generated.
-#texinfo_domain_indices = True
-
-# How to display URL addresses: 'footnote', 'no', or 'inline'.
-#texinfo_show_urls = 'footnote'
-
 extlinks = {
     'issue': ('https://github.com/dreamhost/stevedore/issues/%s', 'issue '),
 }
 
-autodoc_default_options = {'members': None, 'special-members': None, 
'show-inheritance': None}
+autodoc_default_options = {
+    'members': None,
+    'special-members': None,
+    'show-inheritance': None
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/doc/source/user/essays/pycon2013.rst 
new/stevedore-3.3.0/doc/source/user/essays/pycon2013.rst
--- old/stevedore-3.2.2/doc/source/user/essays/pycon2013.rst    2020-09-11 
21:19:46.000000000 +0200
+++ new/stevedore-3.3.0/doc/source/user/essays/pycon2013.rst    2020-11-30 
18:56:59.000000000 +0100
@@ -88,7 +88,7 @@
 OpenStack is a collection of components that cooperate to provide
 `Infrastructure as a Service`_ features.  Each component manages a
 different aspect of the cloud and uses a message bus to communicate
-with the other components.  
+with the other components.
 
 All of the components generate notification messages when events
 happen (like instances being created or destroyed). Capturing those
@@ -453,7 +453,7 @@
 Invocation
 ----------
 
-We used all three invocation patterns, in different places.  
+We used all three invocation patterns, in different places.
 
 1. We only use one storage system at a time, so we treat the storage
    plugin like a driver.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/stevedore-3.2.2/doc/source/user/tutorial/creating_plugins.rst 
new/stevedore-3.3.0/doc/source/user/tutorial/creating_plugins.rst
--- old/stevedore-3.2.2/doc/source/user/tutorial/creating_plugins.rst   
2020-09-11 21:19:46.000000000 +0200
+++ new/stevedore-3.3.0/doc/source/user/tutorial/creating_plugins.rst   
2020-11-30 18:56:59.000000000 +0100
@@ -33,7 +33,7 @@
 ===================
 
 Step 1 above is to define an abstract base class for the API that
-needs to be implemented by each plugin. 
+needs to be implemented by each plugin.
 
 .. literalinclude:: ../../../../stevedore/example/base.py
    :language: python
@@ -104,7 +104,7 @@
     [stevedore.example.formatter]
     simple = stevedore.example.simple:Simple
     plain = stevedore.example.simple:Simple
-    
+
     [stevedore.test.extension]
     t2 = stevedore.tests.test_extension:FauxExtension
     t1 = stevedore.tests.test_extension:FauxExtension
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/doc/source/user/tutorial/naming.rst 
new/stevedore-3.3.0/doc/source/user/tutorial/naming.rst
--- old/stevedore-3.2.2/doc/source/user/tutorial/naming.rst     2020-09-11 
21:19:46.000000000 +0200
+++ new/stevedore-3.3.0/doc/source/user/tutorial/naming.rst     2020-11-30 
18:56:59.000000000 +0100
@@ -11,7 +11,7 @@
 Names and Namespaces
 ====================
 
-Entry points are registered using a *name* in a *namespace*. 
+Entry points are registered using a *name* in a *namespace*.
 
 Entry point names are usually considered user-visible. For example,
 they frequently appear in configuration files where a driver is being
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/stevedore-3.2.2/releasenotes/notes/add-skip-caching-aa13be0299cc8b8c.yaml 
new/stevedore-3.3.0/releasenotes/notes/add-skip-caching-aa13be0299cc8b8c.yaml
--- 
old/stevedore-3.2.2/releasenotes/notes/add-skip-caching-aa13be0299cc8b8c.yaml   
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/stevedore-3.3.0/releasenotes/notes/add-skip-caching-aa13be0299cc8b8c.yaml   
    2020-11-30 18:56:59.000000000 +0100
@@ -0,0 +1,7 @@
+---
+features:
+  - |
+    Add possibility to skip caching endpoints to the filesystem when 
'.disable' file is present in the cache directory.
+fixes:
+  - |
+    When python interpreter invokimg the module is located under /tmp (the 
case when i.e. Ansible module uses stevedore) do not try to write cache to the 
file system.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/releasenotes/source/conf.py 
new/stevedore-3.3.0/releasenotes/source/conf.py
--- old/stevedore-3.2.2/releasenotes/source/conf.py     2020-09-11 
21:19:46.000000000 +0200
+++ new/stevedore-3.3.0/releasenotes/source/conf.py     2020-11-30 
18:56:59.000000000 +0100
@@ -1,4 +1,6 @@
 # -*- coding: utf-8 -*-
+# Copyright (C) 2020 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
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/releasenotes/source/index.rst 
new/stevedore-3.3.0/releasenotes/source/index.rst
--- old/stevedore-3.2.2/releasenotes/source/index.rst   2020-09-11 
21:19:46.000000000 +0200
+++ new/stevedore-3.3.0/releasenotes/source/index.rst   2020-11-30 
18:56:59.000000000 +0100
@@ -6,6 +6,7 @@
     :maxdepth: 1
 
     unreleased
+    victoria
     ussuri
     train
     stein
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/releasenotes/source/victoria.rst 
new/stevedore-3.3.0/releasenotes/source/victoria.rst
--- old/stevedore-3.2.2/releasenotes/source/victoria.rst        1970-01-01 
01:00:00.000000000 +0100
+++ new/stevedore-3.3.0/releasenotes/source/victoria.rst        2020-11-30 
18:56:59.000000000 +0100
@@ -0,0 +1,6 @@
+=============================
+Victoria Series Release Notes
+=============================
+
+.. release-notes::
+   :branch: stable/victoria
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/stevedore/_cache.py 
new/stevedore-3.3.0/stevedore/_cache.py
--- old/stevedore-3.2.2/stevedore/_cache.py     2020-09-11 21:19:46.000000000 
+0200
+++ new/stevedore-3.3.0/stevedore/_cache.py     2020-11-30 18:56:59.000000000 
+0100
@@ -72,8 +72,7 @@
 
 
 def _hash_settings_for_path(path):
-    """Return a hash and the path settings that created it.
-    """
+    """Return a hash and the path settings that created it."""
     paths = []
     h = hashlib.sha256()
 
@@ -136,6 +135,14 @@
             cache_dir = _get_cache_dir()
         self._dir = cache_dir
         self._internal = {}
+        self._disable_caching = False
+
+        # Caching can be disabled by either placing .disable file into the
+        # target directory or when python executable is under /tmp (this is the
+        # case when executed from ansible)
+        if any([os.path.isfile(os.path.join(self._dir, '.disable')),
+                sys.executable[0:4] == '/tmp']):
+            self._disable_caching = True
 
     def _get_data_for_path(self, path):
         if path is None:
@@ -154,14 +161,15 @@
         except (IOError, json.JSONDecodeError):
             data = _build_cacheable_data(path)
             data['path_values'] = path_values
-            try:
-                log.debug('writing to %s', filename)
-                os.makedirs(self._dir, exist_ok=True)
-                with open(filename, 'w') as f:
-                    json.dump(data, f)
-            except (IOError, OSError):
-                # Could not create cache dir or write file.
-                pass
+            if not self._disable_caching:
+                try:
+                    log.debug('writing to %s', filename)
+                    os.makedirs(self._dir, exist_ok=True)
+                    with open(filename, 'w') as f:
+                        json.dump(data, f)
+                except (IOError, OSError):
+                    # Could not create cache dir or write file.
+                    pass
 
         self._internal[internal_key] = data
         return data
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/stevedore/driver.py 
new/stevedore-3.3.0/stevedore/driver.py
--- old/stevedore-3.2.2/stevedore/driver.py     2020-09-11 21:19:46.000000000 
+0200
+++ new/stevedore-3.3.0/stevedore/driver.py     2020-11-30 18:56:59.000000000 
+0100
@@ -10,7 +10,8 @@
 #  License for the specific language governing permissions and limitations
 #  under the License.
 
-from .exception import NoMatches, MultipleMatches
+from .exception import MultipleMatches
+from .exception import NoMatches
 from .named import NamedExtensionManager
 
 
@@ -142,7 +143,6 @@
 
     @property
     def driver(self):
-        """Returns the driver being used by this manager.
-        """
+        """Returns the driver being used by this manager."""
         ext = self.extensions[0]
         return ext.obj if ext.obj else ext.plugin
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/stevedore/example/base.py 
new/stevedore-3.3.0/stevedore/example/base.py
--- old/stevedore-3.2.2/stevedore/example/base.py       2020-09-11 
21:19:46.000000000 +0200
+++ new/stevedore-3.3.0/stevedore/example/base.py       2020-11-30 
18:56:59.000000000 +0100
@@ -1,3 +1,18 @@
+# -*- coding: utf-8 -*-
+# Copyright (C) 2020 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 abc
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/stevedore/example/load_as_driver.py 
new/stevedore-3.3.0/stevedore/example/load_as_driver.py
--- old/stevedore-3.2.2/stevedore/example/load_as_driver.py     2020-09-11 
21:19:46.000000000 +0200
+++ new/stevedore-3.3.0/stevedore/example/load_as_driver.py     2020-11-30 
18:56:59.000000000 +0100
@@ -1,3 +1,17 @@
+# Copyright (C) 2020 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 argparse
 
 from stevedore import driver
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/stevedore-3.2.2/stevedore/example/load_as_extension.py 
new/stevedore-3.3.0/stevedore/example/load_as_extension.py
--- old/stevedore-3.2.2/stevedore/example/load_as_extension.py  2020-09-11 
21:19:46.000000000 +0200
+++ new/stevedore-3.3.0/stevedore/example/load_as_extension.py  2020-11-30 
18:56:59.000000000 +0100
@@ -1,3 +1,17 @@
+# Copyright (C) 2020 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 argparse
 
 from stevedore import extension
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/stevedore/example/setup.py 
new/stevedore-3.3.0/stevedore/example/setup.py
--- old/stevedore-3.2.2/stevedore/example/setup.py      2020-09-11 
21:19:46.000000000 +0200
+++ new/stevedore-3.3.0/stevedore/example/setup.py      2020-11-30 
18:56:59.000000000 +0100
@@ -1,4 +1,19 @@
-from setuptools import setup, find_packages
+# Copyright (C) 2020 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.
+from setuptools import find_packages
+from setuptools import setup
 
 setup(
     name='stevedore-examples',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/stevedore/example/simple.py 
new/stevedore-3.3.0/stevedore/example/simple.py
--- old/stevedore-3.2.2/stevedore/example/simple.py     2020-09-11 
21:19:46.000000000 +0200
+++ new/stevedore-3.3.0/stevedore/example/simple.py     2020-11-30 
18:56:59.000000000 +0100
@@ -1,9 +1,21 @@
+# Copyright (C) 2020 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.
 from stevedore.example import base
 
 
 class Simple(base.FormatterBase):
-    """A very basic formatter.
-    """
+    """A very basic formatter."""
 
     def format(self, data):
         """Format the data and return unicode text.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/stevedore/example2/fields.py 
new/stevedore-3.3.0/stevedore/example2/fields.py
--- old/stevedore-3.2.2/stevedore/example2/fields.py    2020-09-11 
21:19:46.000000000 +0200
+++ new/stevedore-3.3.0/stevedore/example2/fields.py    2020-11-30 
18:56:59.000000000 +0100
@@ -1,3 +1,18 @@
+# -*- coding: utf-8 -*-
+# Copyright (C) 2020 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 textwrap
 
 from stevedore.example import base
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/stevedore/example2/setup.py 
new/stevedore-3.3.0/stevedore/example2/setup.py
--- old/stevedore-3.2.2/stevedore/example2/setup.py     2020-09-11 
21:19:46.000000000 +0200
+++ new/stevedore-3.3.0/stevedore/example2/setup.py     2020-11-30 
18:56:59.000000000 +0100
@@ -1,4 +1,19 @@
-from setuptools import setup, find_packages
+# Copyright (C) 2020 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.
+from setuptools import find_packages
+from setuptools import setup
 
 setup(
     name='stevedore-examples2',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/stevedore/extension.py 
new/stevedore-3.3.0/stevedore/extension.py
--- old/stevedore-3.2.2/stevedore/extension.py  2020-09-11 21:19:46.000000000 
+0200
+++ new/stevedore-3.3.0/stevedore/extension.py  2020-11-30 18:56:59.000000000 
+0100
@@ -13,8 +13,8 @@
 """ExtensionManager
 """
 
-import operator
 import logging
+import operator
 
 from . import _cache
 from .exception import NoMatches
@@ -331,8 +331,7 @@
                 LOG.exception(err)
 
     def items(self):
-        """
-        Return an iterator of tuples of the form (name, extension).
+        """Return an iterator of tuples of the form (name, extension).
 
         This is analogous to the Mapping.items() method.
         """
@@ -356,6 +355,5 @@
         return self._extensions_by_name[name]
 
     def __contains__(self, name):
-        """Return true if name is in list of enabled extensions.
-        """
+        """Return true if name is in list of enabled extensions."""
         return any(extension.name == name for extension in self.extensions)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/stevedore/tests/test_cache.py 
new/stevedore-3.3.0/stevedore/tests/test_cache.py
--- old/stevedore-3.2.2/stevedore/tests/test_cache.py   1970-01-01 
01:00:00.000000000 +0100
+++ new/stevedore-3.3.0/stevedore/tests/test_cache.py   2020-11-30 
18:56:59.000000000 +0100
@@ -0,0 +1,56 @@
+#  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.
+
+"""Tests for stevedore._cache
+"""
+import sys
+
+from unittest import mock
+
+from stevedore import _cache
+from stevedore.tests import utils
+
+
+class TestCache(utils.TestCase):
+
+    def test_disable_caching_executable(self):
+        """Test caching is disabled if python interpreter is located under /tmp
+        directory (Ansible)
+        """
+        with mock.patch.object(sys, 'executable', '/tmp/fake'):
+            sot = _cache.Cache()
+            self.assertTrue(sot._disable_caching)
+
+    def test_disable_caching_file(self):
+        """Test caching is disabled if .disable file is present in target
+        dir
+        """
+        cache_dir = _cache._get_cache_dir()
+
+        with mock.patch('os.path.isfile') as mock_path:
+            mock_path.return_value = True
+            sot = _cache.Cache()
+            mock_path.assert_called_with('%s/.disable' % cache_dir)
+            self.assertTrue(sot._disable_caching)
+
+            mock_path.return_value = False
+            sot = _cache.Cache()
+            self.assertFalse(sot._disable_caching)
+
+    @mock.patch('os.makedirs')
+    @mock.patch('builtins.open')
+    def test__get_data_for_path_no_write(self, mock_open, mock_mkdir):
+        sot = _cache.Cache()
+        sot._disable_caching = True
+        mock_open.side_effect = IOError
+        sot._get_data_for_path('fake')
+        mock_mkdir.assert_not_called()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/stevedore/tests/test_dispatch.py 
new/stevedore-3.3.0/stevedore/tests/test_dispatch.py
--- old/stevedore-3.2.2/stevedore/tests/test_dispatch.py        2020-09-11 
21:19:46.000000000 +0200
+++ new/stevedore-3.3.0/stevedore/tests/test_dispatch.py        2020-11-30 
18:56:59.000000000 +0100
@@ -10,8 +10,8 @@
 #  License for the specific language governing permissions and limitations
 #  under the License.
 
-from stevedore.tests import utils
 from stevedore import dispatch
+from stevedore.tests import utils
 
 
 def check_dispatch(ep, *args, **kwds):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/stevedore/tests/test_test_manager.py 
new/stevedore-3.3.0/stevedore/tests/test_test_manager.py
--- old/stevedore-3.2.2/stevedore/tests/test_test_manager.py    2020-09-11 
21:19:46.000000000 +0200
+++ new/stevedore-3.3.0/stevedore/tests/test_test_manager.py    2020-11-30 
18:56:59.000000000 +0100
@@ -10,15 +10,20 @@
 #  License for the specific language governing permissions and limitations
 #  under the License.
 
-from unittest.mock import Mock, sentinel
+from unittest.mock import Mock
+from unittest.mock import sentinel
 
-from stevedore import (ExtensionManager, NamedExtensionManager, HookManager,
-                       DriverManager, EnabledExtensionManager)
-from stevedore.dispatch import (DispatchExtensionManager,
-                                NameDispatchExtensionManager)
+from stevedore.dispatch import DispatchExtensionManager
+from stevedore.dispatch import NameDispatchExtensionManager
 from stevedore.extension import Extension
 from stevedore.tests import utils
 
+from stevedore import DriverManager
+from stevedore import EnabledExtensionManager
+from stevedore import ExtensionManager
+from stevedore import HookManager
+from stevedore import NamedExtensionManager
+
 
 test_extension = Extension('test_extension', None, None, None)
 test_extension2 = Extension('another_one', None, None, None)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/stevedore.egg-info/PKG-INFO 
new/stevedore-3.3.0/stevedore.egg-info/PKG-INFO
--- old/stevedore-3.2.2/stevedore.egg-info/PKG-INFO     2020-09-11 
21:22:09.000000000 +0200
+++ new/stevedore-3.3.0/stevedore.egg-info/PKG-INFO     2020-11-30 
18:57:32.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: stevedore
-Version: 3.2.2
+Version: 3.3.0
 Summary: Manage dynamic plugins for Python applications
 Home-page: https://docs.openstack.org/stevedore/latest/
 Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/stevedore.egg-info/SOURCES.txt 
new/stevedore-3.3.0/stevedore.egg-info/SOURCES.txt
--- old/stevedore-3.2.2/stevedore.egg-info/SOURCES.txt  2020-09-11 
21:22:09.000000000 +0200
+++ new/stevedore-3.3.0/stevedore.egg-info/SOURCES.txt  2020-11-30 
18:57:32.000000000 +0100
@@ -1,3 +1,4 @@
+.pre-commit-config.yaml
 .stestr.conf
 .zuul.yaml
 AUTHORS
@@ -39,6 +40,7 @@
 doc/source/user/tutorial/naming.rst
 doc/source/user/tutorial/testing.rst
 releasenotes/notes/add-reno-996dd44974d53238.yaml
+releasenotes/notes/add-skip-caching-aa13be0299cc8b8c.yaml
 releasenotes/notes/drop-python2-support-3f0f717570cad8cb.yaml
 releasenotes/notes/entry-point-type-change-06ca3b301ba7aad1.yaml
 releasenotes/notes/expose-entry-point-properties-6f2d868d4342fc0d.yaml
@@ -53,6 +55,7 @@
 releasenotes/source/train.rst
 releasenotes/source/unreleased.rst
 releasenotes/source/ussuri.rst
+releasenotes/source/victoria.rst
 releasenotes/source/_static/.placeholder
 releasenotes/source/_templates/.placeholder
 stevedore/__init__.py
@@ -85,6 +88,7 @@
 stevedore/tests/__init__.py
 stevedore/tests/extension_unimportable.py
 stevedore/tests/manager.py
+stevedore/tests/test_cache.py
 stevedore/tests/test_callback.py
 stevedore/tests/test_dispatch.py
 stevedore/tests/test_driver.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/stevedore.egg-info/pbr.json 
new/stevedore-3.3.0/stevedore.egg-info/pbr.json
--- old/stevedore-3.2.2/stevedore.egg-info/pbr.json     2020-09-11 
21:22:09.000000000 +0200
+++ new/stevedore-3.3.0/stevedore.egg-info/pbr.json     2020-11-30 
18:57:32.000000000 +0100
@@ -1 +1 @@
-{"git_version": "274eaa6", "is_release": true}
\ No newline at end of file
+{"git_version": "7d7154f", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/test-requirements.txt 
new/stevedore-3.3.0/test-requirements.txt
--- old/stevedore-3.2.2/test-requirements.txt   2020-09-11 21:19:46.000000000 
+0200
+++ new/stevedore-3.3.0/test-requirements.txt   2020-11-30 18:56:59.000000000 
+0100
@@ -6,3 +6,6 @@
 stestr>=2.0.0 # Apache-2.0
 # sphinx is needed for testing the sphinxext module
 sphinx>=2.0.0,!=2.1.0 # BSD
+
+bandit>=1.6.0,<1.7.0 # Apache-2.0
+pre-commit>=2.6.0 # MIT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stevedore-3.2.2/tox.ini new/stevedore-3.3.0/tox.ini
--- old/stevedore-3.2.2/tox.ini 2020-09-11 21:19:46.000000000 +0200
+++ new/stevedore-3.3.0/tox.ini 2020-11-30 18:56:59.000000000 +0100
@@ -1,6 +1,6 @@
 [tox]
 minversion = 3.2
-envlist = py37,pep8,docs
+envlist = py3,pep8,docs
 ignore_basepython_conflict = true
 
 [testenv]
@@ -20,17 +20,14 @@
 commands = {posargs}
 
 [testenv:pep8]
-deps =
-  flake8 # MIT
-  bandit>=1.1.0,<1.6.0 # Apache-2.0
 ignore = E251
 commands =
-  flake8 stevedore setup.py
+  pre-commit run -a
   # Run security linter
   bandit -r stevedore -x tests -n5
 
 [flake8]
-ignore = E251
+ignore = E251,H405
 show-source = True
 exclude=.venv,.git,.tox,dist,*lib/python*,*egg,build
 

Reply via email to