Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-tooz for openSUSE:Factory 
checked in at 2021-12-12 00:57:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-tooz (Old)
 and      /work/SRC/openSUSE:Factory/.python-tooz.new.2520 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-tooz"

Sun Dec 12 00:57:42 2021 rev:13 rq:939549 version:2.9.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-tooz/python-tooz.changes  2021-05-10 
15:40:00.901408331 +0200
+++ /work/SRC/openSUSE:Factory/.python-tooz.new.2520/python-tooz.changes        
2021-12-12 00:57:58.298599295 +0100
@@ -1,0 +2,12 @@
+Mon Dec  6 09:23:49 UTC 2021 - cloud-de...@suse.de
+
+- update to version 2.9.0
+  - Use py3 as the default runtime for tox
+  - Cap tenacity to unblock the gate
+  - Add Python3 wallaby unit tests
+  - Move flake8 as a pre-commit local target.
+  - Update master for stable/wallaby
+  - Retry on redis connection errors
+  - Bump hacking and flake8 version to fix pep8 job
+
+-------------------------------------------------------------------

Old:
----
  tooz-2.8.0.tar.gz

New:
----
  tooz-2.9.0.tar.gz

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

Other differences:
------------------
++++++ python-tooz.spec ++++++
--- /var/tmp/diff_new_pack.OBufkp/_old  2021-12-12 00:57:58.738599598 +0100
+++ /var/tmp/diff_new_pack.OBufkp/_new  2021-12-12 00:57:58.742599600 +0100
@@ -20,13 +20,13 @@
 %global rdo 1
 %endif
 Name:           python-tooz
-Version:        2.8.0
+Version:        2.9.0
 Release:        0
 Summary:        Coordination library for distributed systems
 License:        Apache-2.0
 Group:          Development/Languages/Python
 URL:            https://docs.openstack.org/tooz/latest/
-Source0:        
https://files.pythonhosted.org/packages/source/t/tooz/tooz-2.8.0.tar.gz
+Source0:        
https://files.pythonhosted.org/packages/source/t/tooz/tooz-2.9.0.tar.gz
 BuildRequires:  memcached
 BuildRequires:  openstack-macros
 BuildRequires:  python3-fasteners >= 0.7
@@ -84,7 +84,7 @@
 This package contains documentation in HTML format.
 
 %prep
-%autosetup -p1 -n tooz-2.8.0
+%autosetup -p1 -n tooz-2.9.0
 %py_req_cleanup
 
 %build

++++++ _service ++++++
--- /var/tmp/diff_new_pack.OBufkp/_old  2021-12-12 00:57:58.766599616 +0100
+++ /var/tmp/diff_new_pack.OBufkp/_new  2021-12-12 00:57:58.766599616 +0100
@@ -1,8 +1,8 @@
 <services>
   <service mode="disabled" name="renderspec">
-    <param 
name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/wallaby/openstack/tooz/tooz.spec.j2</param>
+    <param 
name="input-template">https://opendev.org/openstack/rpm-packaging/raw/master/openstack/tooz/tooz.spec.j2</param>
     <param name="output-name">python-tooz.spec</param>
-    <param 
name="requirements">https://opendev.org/openstack/tooz/raw/branch/stable/wallaby/requirements.txt</param>
+    <param 
name="requirements">https://opendev.org/openstack/tooz/raw/master/requirements.txt</param>
     <param name="changelog-email">cloud-de...@suse.de</param>
     <param name="changelog-provider">gh,openstack,tooz</param>
   </service>

++++++ tooz-2.8.0.tar.gz -> tooz-2.9.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tooz-2.8.0/.pre-commit-config.yaml 
new/tooz-2.9.0/.pre-commit-config.yaml
--- old/tooz-2.8.0/.pre-commit-config.yaml      2020-11-30 17:06:04.000000000 
+0100
+++ new/tooz-2.9.0/.pre-commit-config.yaml      2021-05-14 10:54:45.000000000 
+0200
@@ -9,7 +9,7 @@
 
 repos:
   - repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: ebc15addedad713c86ef18ae9632c88e187dd0af  # v3.1.0
+    rev: 9136088a246768144165fcc3ecc3d31bb686920a # v3.3.0
     hooks:
       - id: trailing-whitespace
       # Replaces or checks mixed line ending
@@ -27,9 +27,13 @@
       - id: debug-statements
       - id: check-yaml
         files: .*\.(yaml|yml)$
-  - repo: https://gitlab.com/pycqa/flake8
-    rev: 181bb46098dddf7e2d45319ea654b4b4d58c2840 # 3.8.3
+  - repo: local
     hooks:
       - id: flake8
+        name: flake8
         additional_dependencies:
-          - hacking>=3.0.1,<3.1.0
+          - hacking>=4.0.0,<4.1.0
+        language: python
+        entry: flake8
+        files: '^.*\.py$'
+        exclude: '^(doc|releasenotes|tools)/.*$'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tooz-2.8.0/.zuul.yaml new/tooz-2.9.0/.zuul.yaml
--- old/tooz-2.8.0/.zuul.yaml   2020-11-30 17:06:04.000000000 +0100
+++ new/tooz-2.9.0/.zuul.yaml   2021-05-14 10:54:45.000000000 +0200
@@ -2,7 +2,7 @@
     templates:
       - lib-forward-testing-python3
       - openstack-cover-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/tooz-2.8.0/AUTHORS new/tooz-2.9.0/AUTHORS
--- old/tooz-2.8.0/AUTHORS      2020-11-30 17:06:41.000000000 +0100
+++ new/tooz-2.9.0/AUTHORS      2021-05-14 10:55:13.000000000 +0200
@@ -10,6 +10,7 @@
 ChangBo Guo(gcb) <eric....@easystack.cn>
 Chris Dent <chd...@redhat.com>
 Corey Bryant <corey.bry...@canonical.com>
+Daniel Bengtsson <dbe...@redhat.com>
 Davanum Srinivas <dava...@gmail.com>
 Davanum Srinivas <d...@linux.vnet.ibm.com>
 Dina Belova <dbel...@mirantis.com>
@@ -45,6 +46,7 @@
 Longgeek <longg...@thstack.com>
 Lucas Alvares Gomes <lucasago...@gmail.com>
 Lucian Petrut <lpet...@cloudbasesolutions.com>
+Matthias Runge <mru...@redhat.com>
 Mehdi Abaakouk <mehdi.abaak...@enovance.com>
 Mehdi Abaakouk <sil...@redhat.com>
 Mehdi Abaakouk <sil...@sileht.net>
@@ -74,6 +76,7 @@
 lahoucine BENLAHMR <lahouc...@benlahmr.com>
 liu-sheng <liush...@huawei.com>
 malei <malei@maleideMacBook-Pro.local>
+manchandavishal <manchandavishal...@gmail.com>
 melissaml <ma....@99cloud.net>
 mengalong <alongm...@gmail.com>
 ushen <yshxxsjt...@gmail.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tooz-2.8.0/ChangeLog new/tooz-2.9.0/ChangeLog
--- old/tooz-2.8.0/ChangeLog    2020-11-30 17:06:41.000000000 +0100
+++ new/tooz-2.9.0/ChangeLog    2021-05-14 10:55:13.000000000 +0200
@@ -1,12 +1,23 @@
 CHANGES
 =======
 
+2.9.0
+-----
+
+* Move flake8 as a pre-commit local target
+* Retry on redis connection errors
+* Update master for stable/wallaby
+* Cap tenacity to unblock the gate
+* Bump hacking and flake8 version to fix pep8 job
+* Use py3 as the default runtime for tox
+
 2.8.0
 -----
 
 * Replace md5 with oslo version
 * Adding pre-commit
 * Blacklist etcd3gw 0.2.6
+* Add Python3 wallaby unit tests
 * Update master for stable/victoria
 
 2.7.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tooz-2.8.0/PKG-INFO new/tooz-2.9.0/PKG-INFO
--- old/tooz-2.8.0/PKG-INFO     2020-11-30 17:06:41.313259400 +0100
+++ new/tooz-2.9.0/PKG-INFO     2021-05-14 10:55:13.561027300 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: tooz
-Version: 2.8.0
+Version: 2.9.0
 Summary: Coordination library for distributed systems.
 Home-page: https://docs.openstack.org/tooz/latest/
 Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tooz-2.8.0/releasenotes/source/index.rst 
new/tooz-2.9.0/releasenotes/source/index.rst
--- old/tooz-2.8.0/releasenotes/source/index.rst        2020-11-30 
17:06:04.000000000 +0100
+++ new/tooz-2.9.0/releasenotes/source/index.rst        2021-05-14 
10:54:45.000000000 +0200
@@ -6,6 +6,7 @@
     :maxdepth: 1
 
     unreleased
+    wallaby
     victoria
     ussuri
     train
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tooz-2.8.0/releasenotes/source/wallaby.rst 
new/tooz-2.9.0/releasenotes/source/wallaby.rst
--- old/tooz-2.8.0/releasenotes/source/wallaby.rst      1970-01-01 
01:00:00.000000000 +0100
+++ new/tooz-2.9.0/releasenotes/source/wallaby.rst      2021-05-14 
10:54:45.000000000 +0200
@@ -0,0 +1,6 @@
+============================
+Wallaby Series Release Notes
+============================
+
+.. release-notes::
+   :branch: stable/wallaby
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tooz-2.8.0/requirements.txt 
new/tooz-2.9.0/requirements.txt
--- old/tooz-2.8.0/requirements.txt     2020-11-30 17:06:04.000000000 +0100
+++ new/tooz-2.9.0/requirements.txt     2021-05-14 10:54:45.000000000 +0200
@@ -6,7 +6,7 @@
 voluptuous>=0.8.9 # BSD License
 msgpack>=0.4.0 # Apache-2.0
 fasteners>=0.7 # Apache-2.0
-tenacity>=3.2.1  # Apache-2.0
+tenacity>=3.2.1,<7.0.0  # Apache-2.0
 futurist>=1.2.0 # Apache-2.0
 oslo.utils>=4.7.0 # Apache-2.0
 oslo.serialization>=1.10.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tooz-2.8.0/tooz/drivers/redis.py 
new/tooz-2.9.0/tooz/drivers/redis.py
--- old/tooz-2.8.0/tooz/drivers/redis.py        2020-11-30 17:06:04.000000000 
+0100
+++ new/tooz-2.9.0/tooz/drivers/redis.py        2021-05-14 10:54:45.000000000 
+0200
@@ -14,7 +14,6 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-import contextlib
 from distutils import version
 import functools
 import logging
@@ -35,19 +34,46 @@
 LOG = logging.getLogger(__name__)
 
 
-@contextlib.contextmanager
-def _translate_failures():
-    """Translates common redis exceptions into tooz exceptions."""
-    try:
-        yield
-    except (exceptions.ConnectionError, exceptions.TimeoutError) as e:
-        utils.raise_with_cause(coordination.ToozConnectionError,
-                               encodeutils.exception_to_unicode(e),
-                               cause=e)
-    except exceptions.RedisError as e:
-        utils.raise_with_cause(tooz.ToozError,
-                               encodeutils.exception_to_unicode(e),
-                               cause=e)
+def _handle_failures(func=None, n_tries=15):
+
+    """Translates common redis exceptions into tooz exceptions.
+
+    This also enables retrying on certain exceptions.
+
+    :param func: the function to act on
+    :param n_tries: the number of retries
+    """
+
+    if func is None:
+        return functools.partial(
+                _handle_failures,
+                n_tries=n_tries
+                )
+
+    @functools.wraps(func)
+    def wrapper(*args, **kwargs):
+        ntries = n_tries
+        while ntries > 1:
+            try:
+                return func(*args, **kwargs)
+            except exceptions.ConnectionError as e:
+                # retry ntries times and then raise a connection error
+                ntries -= 1
+                if ntries >= 1:
+                    utils.raise_with_cause(coordination.ToozConnectionError,
+                                           encodeutils.exception_to_unicode(e),
+                                           cause=e)
+
+            except (exceptions.TimeoutError) as e:
+                utils.raise_with_cause(coordination.ToozConnectionError,
+                                       encodeutils.exception_to_unicode(e),
+                                       cause=e)
+            except exceptions.RedisError as e:
+                utils.raise_with_cause(tooz.ToozError,
+                                       encodeutils.exception_to_unicode(e),
+                                       cause=e)
+        return func(*args, **kwargs)
+    return wrapper
 
 
 class RedisLock(locking.Lock):
@@ -63,48 +89,48 @@
         self._coord = coord
         self._client = client
 
+    @_handle_failures
     def is_still_owner(self):
-        with _translate_failures():
-            lock_tok = self._lock.local.token
-            if not lock_tok:
-                return False
-            owner_tok = self._client.get(self.name)
-            return owner_tok == lock_tok
+        lock_tok = self._lock.local.token
+        if not lock_tok:
+            return False
+        owner_tok = self._client.get(self.name)
+        return owner_tok == lock_tok
 
+    @_handle_failures
     def break_(self):
-        with _translate_failures():
-            return bool(self._client.delete(self.name))
+        return bool(self._client.delete(self.name))
 
+    @_handle_failures
     def acquire(self, blocking=True, shared=False):
         if shared:
             raise tooz.NotImplemented
         blocking, timeout = utils.convert_blocking(blocking)
-        with _translate_failures():
-            acquired = self._lock.acquire(
-                blocking=blocking, blocking_timeout=timeout)
-            if acquired:
-                with self._exclusive_access:
-                    self._coord._acquired_locks.add(self)
-            return acquired
+        acquired = self._lock.acquire(
+            blocking=blocking, blocking_timeout=timeout)
+        if acquired:
+            with self._exclusive_access:
+                self._coord._acquired_locks.add(self)
+        return acquired
 
+    @_handle_failures
     def release(self):
         with self._exclusive_access:
-            with _translate_failures():
-                try:
-                    self._lock.release()
-                except exceptions.LockError as e:
-                    LOG.error("Unable to release lock '%r': %s", self, e)
-                    return False
-                finally:
-                    self._coord._acquired_locks.discard(self)
-                return True
+            try:
+                self._lock.release()
+            except exceptions.LockError as e:
+                LOG.error("Unable to release lock '%r': %s", self, e)
+                return False
+            finally:
+                self._coord._acquired_locks.discard(self)
+            return True
 
+    @_handle_failures
     def heartbeat(self):
         with self._exclusive_access:
             if self.acquired:
-                with _translate_failures():
-                    self._lock.reacquire()
-                    return True
+                self._lock.reacquire()
+                return True
         return False
 
     @property
@@ -433,6 +459,7 @@
             return master_client
         return redis.StrictRedis(**kwargs)
 
+    @_handle_failures
     def _start(self):
         super(RedisDriver, self)._start()
         try:
@@ -446,8 +473,7 @@
             # Ensure that the server is alive and not dead, this does not
             # ensure the server will always be alive, but does insure that it
             # at least is alive once...
-            with _translate_failures():
-                self._server_info = self._client.info()
+            self._server_info = self._client.info()
             # Validate we have a good enough redis version we are connected
             # to so that the basic set of features we support will actually
             # work (instead of blowing up).
@@ -506,12 +532,13 @@
     def _decode_group_id(self, group_id):
         return utils.to_binary(group_id, encoding=self._encoding)
 
+    @_handle_failures
     def heartbeat(self):
-        with _translate_failures():
-            beat_id = self._encode_beat_id(self._member_id)
-            expiry_ms = max(0, int(self.membership_timeout * 1000.0))
-            self._client.psetex(beat_id, time_ms=expiry_ms,
-                                value=self.STILL_ALIVE)
+        beat_id = self._encode_beat_id(self._member_id)
+        expiry_ms = max(0, int(self.membership_timeout * 1000.0))
+        self._client.psetex(beat_id, time_ms=expiry_ms,
+                            value=self.STILL_ALIVE)
+
         for lock in self._acquired_locks.copy():
             try:
                 lock.heartbeat()
@@ -520,6 +547,7 @@
                             exc_info=True)
         return min(self.lock_timeout, self.membership_timeout)
 
+    @_handle_failures
     def _stop(self):
         while self._acquired_locks:
             lock = self._acquired_locks.pop()
@@ -534,8 +562,7 @@
             try:
                 # NOTE(harlowja): this will delete nothing if the key doesn't
                 # exist in the first place, which is fine/expected/desired...
-                with _translate_failures():
-                    self._client.delete(beat_id)
+                self._client.delete(beat_id)
             except tooz.ToozError:
                 LOG.warning("Unable to delete heartbeat key '%s'", beat_id,
                             exc_info=True)
@@ -752,5 +779,4 @@
         return result
 
 
-RedisFutureResult = functools.partial(coordination.CoordinatorResult,
-                                      failure_translator=_translate_failures)
+RedisFutureResult = functools.partial(coordination.CoordinatorResult)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tooz-2.8.0/tooz.egg-info/PKG-INFO 
new/tooz-2.9.0/tooz.egg-info/PKG-INFO
--- old/tooz-2.8.0/tooz.egg-info/PKG-INFO       2020-11-30 17:06:41.000000000 
+0100
+++ new/tooz-2.9.0/tooz.egg-info/PKG-INFO       2021-05-14 10:55:13.000000000 
+0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: tooz
-Version: 2.8.0
+Version: 2.9.0
 Summary: Coordination library for distributed systems.
 Home-page: https://docs.openstack.org/tooz/latest/
 Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tooz-2.8.0/tooz.egg-info/SOURCES.txt 
new/tooz-2.9.0/tooz.egg-info/SOURCES.txt
--- old/tooz-2.8.0/tooz.egg-info/SOURCES.txt    2020-11-30 17:06:41.000000000 
+0100
+++ new/tooz-2.9.0/tooz.egg-info/SOURCES.txt    2021-05-14 10:55:13.000000000 
+0200
@@ -65,6 +65,7 @@
 releasenotes/source/unreleased.rst
 releasenotes/source/ussuri.rst
 releasenotes/source/victoria.rst
+releasenotes/source/wallaby.rst
 releasenotes/source/_static/.placeholder
 releasenotes/source/_templates/.placeholder
 tools/compat-matrix.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tooz-2.8.0/tooz.egg-info/pbr.json 
new/tooz-2.9.0/tooz.egg-info/pbr.json
--- old/tooz-2.8.0/tooz.egg-info/pbr.json       2020-11-30 17:06:41.000000000 
+0100
+++ new/tooz-2.9.0/tooz.egg-info/pbr.json       2021-05-14 10:55:13.000000000 
+0200
@@ -1 +1 @@
-{"git_version": "54448e9", "is_release": true}
\ No newline at end of file
+{"git_version": "174065f", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tooz-2.8.0/tooz.egg-info/requires.txt 
new/tooz-2.9.0/tooz.egg-info/requires.txt
--- old/tooz-2.8.0/tooz.egg-info/requires.txt   2020-11-30 17:06:41.000000000 
+0100
+++ new/tooz-2.9.0/tooz.egg-info/requires.txt   2021-05-14 10:55:13.000000000 
+0200
@@ -5,7 +5,7 @@
 oslo.utils>=4.7.0
 pbr>=1.6
 stevedore>=1.16.0
-tenacity>=3.2.1
+tenacity<7.0.0,>=3.2.1
 voluptuous>=0.8.9
 
 [consul]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tooz-2.8.0/tox.ini new/tooz-2.9.0/tox.ini
--- old/tooz-2.8.0/tox.ini      2020-11-30 17:06:04.000000000 +0100
+++ new/tooz-2.9.0/tox.ini      2021-05-14 10:54:45.000000000 +0200
@@ -1,6 +1,6 @@
 [tox]
 minversion = 3.1.0
-envlist = 
py38,py{36,38}-{zookeeper,redis,sentinel,memcached,postgresql,mysql,consul,etcd,etcd3,etcd3gw},pep8
+envlist = 
py3,py{36,38}-{zookeeper,redis,sentinel,memcached,postgresql,mysql,consul,etcd,etcd3,etcd3gw},pep8
 ignore_basepython_conflict = True
 
 [testenv]
@@ -59,7 +59,7 @@
 commands = sphinx-build -W -b html doc/source doc/build/html
 
 [testenv:pep8]
-deps = hacking<2.1,>=2.0
+deps = hacking>=4.0.0,<4.1.0
       doc8
       pre-commit>=2.6.0
 commands =

Reply via email to