Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-oslo.messaging for
openSUSE:Factory checked in at 2021-05-08 22:07:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oslo.messaging (Old)
and /work/SRC/openSUSE:Factory/.python-oslo.messaging.new.2988 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-oslo.messaging"
Sat May 8 22:07:23 2021 rev:24 rq:889993 version:12.7.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-oslo.messaging/python-oslo.messaging.changes
2020-10-26 16:17:29.942992349 +0100
+++
/work/SRC/openSUSE:Factory/.python-oslo.messaging.new.2988/python-oslo.messaging.changes
2021-05-08 22:07:25.345741333 +0200
@@ -1,0 +2,35 @@
+Sun May 2 17:30:41 UTC 2021 - [email protected]
+
+- update to version 12.7.1
+ - Adding pre-commit
+ - Fix doc title rendering
+ - Dropping lower constraints testing
+ - Remove six
+ - Deprecate the mandatory flag
+ - Run rabbitmq heartbeat in python thread by default
+ - remove unicode from code
+ - Update master for stable/victoria
+ - fix variable name
+ - Move jobs to py38
+ - Correctly handle missing RabbitMQ queues
+ - Python 3.9: isAlive is removed
+ - Add Python3 wallaby unit tests
+ - Use TOX_CONSTRAINTS_FILE
+ - Use py3 as the default runtime for tox
+ - Fix type of direct_mandatory_flag opt
+ - add min of 1 to rpc_conn_pool_size
+
+-------------------------------------------------------------------
+Tue Mar 16 11:16:36 UTC 2021 - Dirk M??ller <[email protected]>
+
+- avoid sphinx-build failure on parsing rst files
+
+-------------------------------------------------------------------
+Tue Feb 2 00:39:03 UTC 2021 - [email protected]
+
+- update to version 12.5.1
+ - Update .gitreview for stable/victoria
+ - add min of 1 to rpc_conn_pool_size
+ - Update TOX_CONSTRAINTS_FILE for stable/victoria
+
+-------------------------------------------------------------------
Old:
----
oslo.messaging-12.5.0.tar.gz
New:
----
oslo.messaging-12.7.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-oslo.messaging.spec ++++++
--- /var/tmp/diff_new_pack.YTK89g/_old 2021-05-08 22:07:25.797739375 +0200
+++ /var/tmp/diff_new_pack.YTK89g/_new 2021-05-08 22:07:25.797739375 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-oslo.messaging
#
-# 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-oslo.messaging
-Version: 12.5.0
+Version: 12.7.1
Release: 0
Summary: OpenStack oslo.messaging library
License: Apache-2.0
Group: Development/Languages/Python
-URL: https://launchpad.net/oslo.messaging
-Source0:
https://files.pythonhosted.org/packages/source/o/oslo.messaging/oslo.messaging-12.5.0.tar.gz
+URL: https://docs.openstack.org/oslo.messaging
+Source0:
https://files.pythonhosted.org/packages/source/o/oslo.messaging/oslo.messaging-12.7.1.tar.gz
BuildRequires: openstack-macros
BuildRequires: python3-PyYAML >= 3.13
BuildRequires: python3-WebOb >= 1.7.1
@@ -61,7 +61,6 @@
%package -n python3-oslo.messaging
Summary: OpenStack oslo.messaging library
-Group: Development/Languages/Python
Requires: python3-PyYAML >= 3.13
Requires: python3-WebOb >= 1.7.1
Requires: python3-amqp >= 2.5.2
@@ -91,7 +90,6 @@
%package -n python3-oslo.messaging-doc
Summary: Documentation for OpenStack messaging library
-Group: Development/Languages/Python
BuildRequires: python3-Sphinx
BuildRequires: python3-openstackdocstheme
@@ -101,7 +99,7 @@
This package contains the documentation.
%prep
-%autosetup -p1 -n oslo.messaging-12.5.0
+%autosetup -p1 -n oslo.messaging-12.7.1
%py_req_cleanup
%build
++++++ _service ++++++
--- /var/tmp/diff_new_pack.YTK89g/_old 2021-05-08 22:07:25.821739271 +0200
+++ /var/tmp/diff_new_pack.YTK89g/_new 2021-05-08 22:07:25.825739254 +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/oslo.messaging/oslo.messaging.spec.j2</param>
+ <param
name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/wallaby/openstack/oslo.messaging/oslo.messaging.spec.j2</param>
<param name="output-name">python-oslo.messaging.spec</param>
- <param
name="requirements">https://opendev.org/openstack/oslo.messaging/raw/branch/stable/victoria/requirements.txt</param>
+ <param
name="requirements">https://opendev.org/openstack/oslo.messaging/raw/branch/stable/wallaby/requirements.txt</param>
<param name="changelog-email">[email protected]</param>
<param name="changelog-provider">gh,openstack,oslo.messaging</param>
</service>
++++++ oslo.messaging-12.5.0.tar.gz -> oslo.messaging-12.7.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.5.0/.pre-commit-config.yaml
new/oslo.messaging-12.7.1/.pre-commit-config.yaml
--- old/oslo.messaging-12.5.0/.pre-commit-config.yaml 1970-01-01
01:00:00.000000000 +0100
+++ new/oslo.messaging-12.7.1/.pre-commit-config.yaml 2021-02-16
10:01:45.000000000 +0100
@@ -0,0 +1,35 @@
+# We from the Oslo project decided to pin repos based on the
+# commit hash instead of the version tag to prevend arbitrary
+# code from running in developer's machines. To update to a
+# newer version, run `pre-commit autoupdate` and then replace
+# the newer versions with their commit hash.
+
+default_language_version:
+ python: python3
+
+repos:
+ - repo: https://github.com/pre-commit/pre-commit-hooks
+ rev: ebc15addedad713c86ef18ae9632c88e187dd0af # 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://gitlab.com/pycqa/flake8
+ rev: 181bb46098dddf7e2d45319ea654b4b4d58c2840 # 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/oslo.messaging-12.5.0/.zuul.yaml
new/oslo.messaging-12.7.1/.zuul.yaml
--- old/oslo.messaging-12.5.0/.zuul.yaml 2020-09-11 21:18:07.000000000
+0200
+++ new/oslo.messaging-12.7.1/.zuul.yaml 2021-02-16 10:01:45.000000000
+0100
@@ -1,29 +1,29 @@
- job:
- name: oslo.messaging-tox-py36-func-scenario01
- parent: openstack-tox-py36
+ name: oslo.messaging-tox-py38-func-scenario01
+ parent: openstack-tox-py38
vars:
- tox_envlist: py36-func-scenario01
+ tox_envlist: py38-func-scenario01
bindep_profile: rabbit
- job:
- name: oslo.messaging-tox-py36-func-scenario02
- parent: openstack-tox-py36
+ name: oslo.messaging-tox-py38-func-scenario02
+ parent: openstack-tox-py38
vars:
- tox_envlist: py36-func-scenario02
+ tox_envlist: py38-func-scenario02
bindep_profile: rabbit kafka amqp1
- job:
- name: oslo.messaging-tox-py36-func-scenario03
- parent: openstack-tox-py36
+ name: oslo.messaging-tox-py38-func-scenario03
+ parent: openstack-tox-py38
vars:
- tox_envlist: py36-func-scenario03
+ tox_envlist: py38-func-scenario03
bindep_profile: rabbit amqp1
- job:
- name: oslo.messaging-tox-py36-func-scenario04
- parent: openstack-tox-py36
+ name: oslo.messaging-tox-py38-func-scenario04
+ parent: openstack-tox-py38
vars:
- tox_envlist: py36-func-scenario04
+ tox_envlist: py38-func-scenario04
bindep_profile: kafka amqp1
# Begin v3 native jobs
@@ -108,19 +108,18 @@
- check-requirements
- lib-forward-testing-python3
- openstack-cover-jobs
- - openstack-lower-constraints-jobs
- - openstack-python3-victoria-jobs
+ - openstack-python3-wallaby-jobs
- periodic-stable-jobs
- publish-openstack-docs-pti
- release-notes-jobs-python3
check:
jobs:
- - oslo.messaging-tox-py36-func-scenario01
- - oslo.messaging-tox-py36-func-scenario02:
+ - oslo.messaging-tox-py38-func-scenario01
+ - oslo.messaging-tox-py38-func-scenario02:
voting: false
- - oslo.messaging-tox-py36-func-scenario03:
+ - oslo.messaging-tox-py38-func-scenario03:
voting: false
- - oslo.messaging-tox-py36-func-scenario04:
+ - oslo.messaging-tox-py38-func-scenario04:
voting: false
- oslo.messaging-src-dsvm-full-rabbit
- oslo.messaging-src-dsvm-full-amqp1-hybrid:
@@ -134,5 +133,5 @@
gate:
jobs:
- - oslo.messaging-tox-py36-func-scenario01
+ - oslo.messaging-tox-py38-func-scenario01
- oslo.messaging-src-dsvm-full-rabbit
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.5.0/AUTHORS
new/oslo.messaging-12.7.1/AUTHORS
--- old/oslo.messaging-12.5.0/AUTHORS 2020-09-11 21:19:52.000000000 +0200
+++ new/oslo.messaging-12.7.1/AUTHORS 2021-02-16 10:02:14.000000000 +0100
@@ -156,6 +156,7 @@
Sean Dague <[email protected]>
Sean McGinnis <[email protected]>
Sean McGinnis <[email protected]>
+Sean Mooney <[email protected]>
Sergey Lukjanov <[email protected]>
Sergey Vilgelm <[email protected]>
Shahar Lev <[email protected]>
@@ -167,6 +168,7 @@
Takashi NATSUME <[email protected]>
Thomas Bechtold <[email protected]>
Thomas Goirand <[email protected]>
+Thomas Goirand <[email protected]>
Thomas Herve <[email protected]>
Thomas Herve <[email protected]>
TommyLike <[email protected]>
@@ -236,6 +238,7 @@
venkatamahesh <[email protected]>
wanglmopenstack <[email protected]>
weiweigu <[email protected]>
+xuanyandong <[email protected]>
yan.haifeng <[email protected]>
zhang-shaoman <[email protected]>
zhangboye <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.5.0/ChangeLog
new/oslo.messaging-12.7.1/ChangeLog
--- old/oslo.messaging-12.5.0/ChangeLog 2020-09-11 21:19:52.000000000 +0200
+++ new/oslo.messaging-12.7.1/ChangeLog 2021-02-16 10:02:14.000000000 +0100
@@ -1,6 +1,38 @@
CHANGES
=======
+12.7.1
+------
+
+* Correctly handle missing RabbitMQ queues
+
+12.7.0
+------
+
+* Deprecate the mandatory flag
+
+12.6.1
+------
+
+* remove unicode from code
+* Remove six
+* Fix type of direct\_mandatory\_flag opt
+* Dropping lower constraints testing
+* Move jobs to py38
+* fix variable name
+* Fix doc title rendering
+* Use TOX\_CONSTRAINTS\_FILE
+* Use py3 as the default runtime for tox
+
+12.6.0
+------
+
+* Python 3.9: isAlive is removed
+* add min of 1 to rpc\_conn\_pool\_size
+* Adding pre-commit
+* Add Python3 wallaby unit tests
+* Update master for stable/victoria
+
12.5.0
------
@@ -9,6 +41,7 @@
12.4.0
------
+* Run rabbitmq heartbeat in python thread by default
* Add a ping endpoint to RPC dispatcher
12.3.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.5.0/PKG-INFO
new/oslo.messaging-12.7.1/PKG-INFO
--- old/oslo.messaging-12.5.0/PKG-INFO 2020-09-11 21:19:52.000000000 +0200
+++ new/oslo.messaging-12.7.1/PKG-INFO 2021-02-16 10:02:15.136758800 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: oslo.messaging
-Version: 12.5.0
+Version: 12.7.1
Summary: Oslo Messaging API
Home-page: https://docs.openstack.org/oslo.messaging/latest/
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.5.0/doc/source/admin/rabbit.rst
new/oslo.messaging-12.7.1/doc/source/admin/rabbit.rst
--- old/oslo.messaging-12.5.0/doc/source/admin/rabbit.rst 2020-09-11
21:18:07.000000000 +0200
+++ new/oslo.messaging-12.7.1/doc/source/admin/rabbit.rst 2021-02-16
10:01:45.000000000 +0100
@@ -66,7 +66,8 @@
through the *Connection* class.
With mandatory flag RabbitMQ raises a callback if the message is not routed to
-any queue.
+any queue. This callback will be used to loop for a timeout and let's a chance
+to sender to recover.
.. _Exchange is a AMQP mechanism:
https://www.rabbitmq.com/tutorials/amqp-concepts.html#exchanges
.. _queues: https://www.rabbitmq.com/queues.html
@@ -101,8 +102,8 @@
Exchange types
~~~~~~~~~~~~~~
-`direct`
-^^^^^^^^
+``direct``
+^^^^^^^^^^
A direct exchange is an exchange which route messages to queues based on
message routing key. Message will be directly delivered to the queue that
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.5.0/doc/source/conf.py
new/oslo.messaging-12.7.1/doc/source/conf.py
--- old/oslo.messaging-12.5.0/doc/source/conf.py 2020-09-11
21:18:07.000000000 +0200
+++ new/oslo.messaging-12.7.1/doc/source/conf.py 2021-02-16
10:01:45.000000000 +0100
@@ -1,4 +1,17 @@
# -*- 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.
#
# Configuration file for the Sphinx documentation builder.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.5.0/doc/source/reference/index.rst
new/oslo.messaging-12.7.1/doc/source/reference/index.rst
--- old/oslo.messaging-12.5.0/doc/source/reference/index.rst 2020-09-11
21:18:07.000000000 +0200
+++ new/oslo.messaging-12.7.1/doc/source/reference/index.rst 2021-02-16
10:01:45.000000000 +0100
@@ -16,4 +16,4 @@
notification_driver
notification_listener
serializer
- exceptions
+ exceptions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.5.0/lower-constraints.txt
new/oslo.messaging-12.7.1/lower-constraints.txt
--- old/oslo.messaging-12.5.0/lower-constraints.txt 2020-09-11
21:18:07.000000000 +0200
+++ new/oslo.messaging-12.7.1/lower-constraints.txt 2021-02-16
10:01:45.000000000 +0100
@@ -66,7 +66,6 @@
requestsexceptions==1.2.0
rfc3986==0.3.1
Routes==2.3.1
-six==1.10.0
smmap==0.9.0
snowballstemmer==1.2.1
statsd==3.2.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.5.0/oslo.messaging.egg-info/PKG-INFO
new/oslo.messaging-12.7.1/oslo.messaging.egg-info/PKG-INFO
--- old/oslo.messaging-12.5.0/oslo.messaging.egg-info/PKG-INFO 2020-09-11
21:19:52.000000000 +0200
+++ new/oslo.messaging-12.7.1/oslo.messaging.egg-info/PKG-INFO 2021-02-16
10:02:14.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: oslo.messaging
-Version: 12.5.0
+Version: 12.7.1
Summary: Oslo Messaging API
Home-page: https://docs.openstack.org/oslo.messaging/latest/
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.5.0/oslo.messaging.egg-info/SOURCES.txt
new/oslo.messaging-12.7.1/oslo.messaging.egg-info/SOURCES.txt
--- old/oslo.messaging-12.5.0/oslo.messaging.egg-info/SOURCES.txt
2020-09-11 21:19:52.000000000 +0200
+++ new/oslo.messaging-12.7.1/oslo.messaging.egg-info/SOURCES.txt
2021-02-16 10:02:15.000000000 +0100
@@ -1,4 +1,5 @@
.coveragerc
+.pre-commit-config.yaml
.stestr.conf
.zuul.yaml
AUTHORS
@@ -145,9 +146,11 @@
releasenotes/notes/bump-amqp-version-due-to-tls-issue-e877b152eb101c15.yaml
releasenotes/notes/connection_ttl-2cf0fe6e1ab8c73c.yaml
releasenotes/notes/deprecate-ZeroMQ-driver-a8af25aaba867c5b.yaml
+releasenotes/notes/disable-mandatory-flag-a6210a534f3853f0.yaml
releasenotes/notes/drop-python27-support-5ef2f365d8930483.yaml
releasenotes/notes/fix-access_policy-deafult-a6954a147cb002b0.yaml
releasenotes/notes/get_rpc_transport-4aa3511ad9754a60.yaml
+releasenotes/notes/handle-missing-queue-553a803f94976be7.yaml
releasenotes/notes/kafka-client-library-change-fe16d5a34550db7f.yaml
releasenotes/notes/no-log-if-ignore-errors-e2223b8a646b4c40.yaml
releasenotes/notes/option-rabbitmq-max_retries-has-been-deprecated-471f66a9e6d672a2.yaml
@@ -158,6 +161,7 @@
releasenotes/notes/remove-ZeroMQ-driver-e9e0bbbb7bd4f5e6.yaml
releasenotes/notes/remove-pika-1bae204ced2521a3.yaml
releasenotes/notes/retry-support-07996ef04dda9482.yaml
+releasenotes/notes/run-heartbeat-in-pthread-by-default-28637b41ebf500dc.yaml
releasenotes/notes/use-extras-for-optional-deps-2a00e8007ef7a629.yaml
releasenotes/source/conf.py
releasenotes/source/index.rst
@@ -170,6 +174,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
releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.5.0/oslo.messaging.egg-info/pbr.json
new/oslo.messaging-12.7.1/oslo.messaging.egg-info/pbr.json
--- old/oslo.messaging-12.5.0/oslo.messaging.egg-info/pbr.json 2020-09-11
21:19:52.000000000 +0200
+++ new/oslo.messaging-12.7.1/oslo.messaging.egg-info/pbr.json 2021-02-16
10:02:14.000000000 +0100
@@ -1 +1 @@
-{"git_version": "62e104bd", "is_release": true}
\ No newline at end of file
+{"git_version": "11a49a0a", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.5.0/oslo.messaging.egg-info/requires.txt
new/oslo.messaging-12.7.1/oslo.messaging.egg-info/requires.txt
--- old/oslo.messaging-12.5.0/oslo.messaging.egg-info/requires.txt
2020-09-11 21:19:52.000000000 +0200
+++ new/oslo.messaging-12.7.1/oslo.messaging.egg-info/requires.txt
2021-02-16 10:02:14.000000000 +0100
@@ -30,6 +30,7 @@
hacking<3.1.0,>=3.0.1
oslotest>=3.2.0
pifpaf>=2.2.0
+pre-commit>=2.6.0
pyngus>=2.2.0
stestr>=2.0.0
testscenarios>=0.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.5.0/oslo_messaging/_drivers/amqp1_driver/controller.py
new/oslo.messaging-12.7.1/oslo_messaging/_drivers/amqp1_driver/controller.py
---
old/oslo.messaging-12.5.0/oslo_messaging/_drivers/amqp1_driver/controller.py
2020-09-11 21:18:07.000000000 +0200
+++
new/oslo.messaging-12.7.1/oslo_messaging/_drivers/amqp1_driver/controller.py
2021-02-16 10:01:45.000000000 +0100
@@ -1022,9 +1022,9 @@
def _do_connect(self):
"""Establish connection and reply subscription on processor thread."""
host = self.hosts.current
- conn_props = {'properties': {u'process': self._command,
- u'pid': self._pid,
- u'node': self._node}}
+ conn_props = {'properties': {'process': self._command,
+ 'pid': self._pid,
+ 'node': self._node}}
# only set hostname in the AMQP 1.0 Open performative if the message
# bus can interpret it as the virtual host. We leave it unspecified
# since apparently noone can agree on how it should be used otherwise!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.5.0/oslo_messaging/_drivers/amqpdriver.py
new/oslo.messaging-12.7.1/oslo_messaging/_drivers/amqpdriver.py
--- old/oslo.messaging-12.5.0/oslo_messaging/_drivers/amqpdriver.py
2020-09-11 21:18:07.000000000 +0200
+++ new/oslo.messaging-12.7.1/oslo_messaging/_drivers/amqpdriver.py
2021-02-16 10:01:45.000000000 +0100
@@ -145,39 +145,67 @@
while True:
try:
with self.listener.driver._get_connection(
- rpc_common.PURPOSE_SEND) as conn:
+ rpc_common.PURPOSE_SEND,
+ ) as conn:
self._send_reply(conn, reply, failure)
+
return
- except rpc_amqp.AMQPDestinationNotFound:
- if timer.check_return() > 0:
- LOG.debug(("The reply %(msg_id)s cannot be sent "
- "%(reply_q)s reply queue doesn't exist, "
- "retrying..."), {
- 'msg_id': self.msg_id,
- 'reply_q': self.reply_q})
- time.sleep(0.25)
- else:
+ except oslo_messaging.MessageUndeliverable:
+ # queue not found
+ if timer.check_return() <= 0:
self._obsolete_reply_queues.add(self.reply_q, self.msg_id)
- infos = {
+ LOG.error(
+ 'The reply %(msg_id)s failed to send after '
+ '%(duration)d seconds due to a missing queue '
+ '(%(reply_q)s). Abandoning...', {
+ 'msg_id': self.msg_id,
+ 'duration': duration,
+ 'reply_q': self.reply_q})
+ return
+
+ LOG.debug(
+ 'The reply %(msg_id)s could not be sent due to a missing '
+ 'queue (%(reply_q)s). Retrying...', {
'msg_id': self.msg_id,
- 'reply_q': self.reply_q,
- 'duration': duration
- }
- LOG.info("The reply %(msg_id)s cannot be sent "
- "%(reply_q)s reply queue don't exist after "
- "%(duration)s sec abandoning...", infos)
+ 'reply_q': self.reply_q})
+ time.sleep(0.25)
+ except rpc_amqp.AMQPDestinationNotFound as exc:
+ # exchange not found/down
+ if timer.check_return() <= 0:
+ self._obsolete_reply_queues.add(self.reply_q, self.msg_id)
+ LOG.error(
+ 'The reply %(msg_id)s failed to send after '
+ '%(duration)d seconds due to a broker issue '
+ '(%(exc)s). Abandoning...', {
+ 'msg_id': self.msg_id,
+ 'duration': duration,
+ 'exc': exc})
return
+ LOG.debug(
+ 'The reply %(msg_id)s could not be sent due to a broker '
+ 'issue (%(exc)s). Retrying...', {
+ 'msg_id': self.msg_id,
+ 'exc': exc})
+ time.sleep(0.25)
+
def heartbeat(self):
# generate a keep alive for RPC call monitoring
with self.listener.driver._get_connection(
- rpc_common.PURPOSE_SEND) as conn:
+ rpc_common.PURPOSE_SEND,
+ ) as conn:
try:
self._send_reply(conn, None, None, ending=False)
+ except oslo_messaging.MessageUndeliverable:
+ # internal exception that indicates queue gone -
+ # broker unreachable.
+ raise MessageDeliveryFailure(
+ "Heartbeat send failed. Missing queue")
except rpc_amqp.AMQPDestinationNotFound:
- # internal exception that indicates queue/exchange gone -
+ # internal exception that indicates exchange gone -
# broker unreachable.
- raise MessageDeliveryFailure("Heartbeat send failed")
+ raise MessageDeliveryFailure(
+ "Heartbeat send failed. Missing exchange")
# NOTE(sileht): Those have already be ack in RpcListener IO thread
# We keep them as noop until all drivers do the same
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.5.0/oslo_messaging/_drivers/base.py
new/oslo.messaging-12.7.1/oslo_messaging/_drivers/base.py
--- old/oslo.messaging-12.5.0/oslo_messaging/_drivers/base.py 2020-09-11
21:18:07.000000000 +0200
+++ new/oslo.messaging-12.7.1/oslo_messaging/_drivers/base.py 2021-02-16
10:01:45.000000000 +0100
@@ -24,7 +24,8 @@
base_opts = [
cfg.IntOpt('rpc_conn_pool_size', default=30,
deprecated_group='DEFAULT',
- help='Size of RPC connection pool.'),
+ help='Size of RPC connection pool.',
+ min=1),
cfg.IntOpt('conn_pool_min_size', default=2,
help='The pool size limit for connections expiration policy'),
cfg.IntOpt('conn_pool_ttl', default=1200,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.5.0/oslo_messaging/_drivers/impl_rabbit.py
new/oslo.messaging-12.7.1/oslo_messaging/_drivers/impl_rabbit.py
--- old/oslo.messaging-12.5.0/oslo_messaging/_drivers/impl_rabbit.py
2020-09-11 21:18:07.000000000 +0200
+++ new/oslo.messaging-12.7.1/oslo_messaging/_drivers/impl_rabbit.py
2021-02-16 10:01:45.000000000 +0100
@@ -88,14 +88,16 @@
help='SSL certification authority file '
'(valid only if SSL enabled).'),
cfg.BoolOpt('heartbeat_in_pthread',
- default=False,
- help="EXPERIMENTAL: Run the health check heartbeat thread "
- "through a native python thread. By default if this "
- "option isn't provided the health check heartbeat will "
- "inherit the execution model from the parent process. By "
- "example if the parent process have monkey patched the "
+ default=True,
+ help="Run the health check heartbeat thread "
+ "through a native python thread by default. If this "
+ "option is equal to False then the health check "
+ "heartbeat will inherit the execution model "
+ "from the parent process. For "
+ "example if the parent process has monkey patched the "
"stdlib by using eventlet/greenlet then the heartbeat "
- "will be run through a green thread."),
+ "will be run through a green thread.",
+ deprecated_for_removal=True),
cfg.FloatOpt('kombu_reconnect_delay',
default=1.0,
deprecated_group='DEFAULT',
@@ -167,12 +169,18 @@
default=2,
help='How often times during the heartbeat_timeout_threshold '
'we check the heartbeat.'),
- cfg.IntOpt('direct_mandatory_flag',
- default=True,
- help='Enable/Disable the RabbitMQ mandatory flag '
- 'for direct send. The direct send is used as reply, '
- 'so the MessageUndeliverable exception is raised '
- 'in case the client queue does not exist.'),
+ cfg.BoolOpt('direct_mandatory_flag',
+ default=True,
+ deprecated_for_removal=True,
+ deprecated_reason='Mandatory flag no longer deactivable.',
+ help='(DEPRECATED) Enable/Disable the RabbitMQ mandatory '
+ 'flag for direct send. The direct send is used as reply, '
+ 'so the MessageUndeliverable exception is raised '
+ 'in case the client queue does not exist.'
+ 'MessageUndeliverable exception will be used to loop for a '
+ 'timeout to lets a chance to sender to recover.'
+ 'This flag is deprecated and it will not be possible to '
+ 'deactivate this functionality anymore'),
cfg.BoolOpt('enable_cancel_on_failover',
default=False,
help="Enable x-cancel-on-ha-failover flag so that "
@@ -510,6 +518,7 @@
# if it was already monkey patched by eventlet/greenlet.
global threading
threading = stdlib_threading
+
self.direct_mandatory_flag = driver_conf.direct_mandatory_flag
if self.ssl:
@@ -1259,11 +1268,11 @@
_set_current_channel is responsible to cleanup the cache.
"""
- queue_indentifier = (exchange.name, routing_key)
+ queue_identifier = (exchange.name, routing_key)
# NOTE(sileht): We only do it once per reconnection
# the Connection._set_current_channel() is responsible to clear
# this cache
- if queue_indentifier not in self._declared_queues:
+ if queue_identifier not in self._declared_queues:
queue = kombu.entity.Queue(
channel=self.channel,
exchange=exchange,
@@ -1277,7 +1286,7 @@
'Connection._publish_and_creates_default_queue: '
'declare queue %(key)s on %(exchange)s exchange', log_info)
queue.declare()
- self._declared_queues.add(queue_indentifier)
+ self._declared_queues.add(queue_identifier)
self._publish(exchange, msg, routing_key=routing_key, timeout=timeout)
@@ -1387,6 +1396,10 @@
# the pool configuration properties
max_size = conf.oslo_messaging_rabbit.rpc_conn_pool_size
min_size = conf.oslo_messaging_rabbit.conn_pool_min_size
+ if max_size < min_size:
+ raise RuntimeError(
+ f"rpc_conn_pool_size: {max_size} must be greater than "
+ f"or equal to conn_pool_min_size: {min_size}")
ttl = conf.oslo_messaging_rabbit.conn_pool_ttl
connection_pool = pool.ConnectionPool(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.5.0/oslo_messaging/rpc/server.py
new/oslo.messaging-12.7.1/oslo_messaging/rpc/server.py
--- old/oslo.messaging-12.5.0/oslo_messaging/rpc/server.py 2020-09-11
21:18:07.000000000 +0200
+++ new/oslo.messaging-12.7.1/oslo_messaging/rpc/server.py 2021-02-16
10:01:45.000000000 +0100
@@ -168,7 +168,7 @@
# by another exception raised by a log handler during
# LOG.debug(). So keep a copy and delete it later.
failure = e.exc_info
- LOG.debug(u'Expected exception during message handling (%s)', e)
+ LOG.debug('Expected exception during message handling (%s)', e)
except rpc_dispatcher.NoSuchMethod as e:
failure = sys.exc_info()
if e.method.endswith('_ignore_errors'):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.5.0/oslo_messaging/tests/drivers/test_amqp_driver.py
new/oslo.messaging-12.7.1/oslo_messaging/tests/drivers/test_amqp_driver.py
--- old/oslo.messaging-12.5.0/oslo_messaging/tests/drivers/test_amqp_driver.py
2020-09-11 21:18:07.000000000 +0200
+++ new/oslo.messaging-12.7.1/oslo_messaging/tests/drivers/test_amqp_driver.py
2021-02-16 10:01:45.000000000 +0100
@@ -227,7 +227,7 @@
{"msg": "value"}, wait_for_reply=False)
self.assertIsNone(rc)
listener.join(timeout=30)
- self.assertFalse(listener.isAlive())
+ self.assertFalse(listener.is_alive())
self.assertEqual({"msg": "value"}, listener.messages.get().message)
predicate = lambda: (self._broker.sender_link_ack_count == 1)
@@ -260,9 +260,9 @@
self.assertEqual('e2', rc.get('correlation-id'))
listener1.join(timeout=30)
- self.assertFalse(listener1.isAlive())
+ self.assertFalse(listener1.is_alive())
listener2.join(timeout=30)
- self.assertFalse(listener2.isAlive())
+ self.assertFalse(listener2.is_alive())
driver.cleanup()
def test_messaging_patterns(self):
@@ -313,9 +313,9 @@
{"method": "echo", "id": "fanout"})
listener1.join(timeout=30)
- self.assertFalse(listener1.isAlive())
+ self.assertFalse(listener1.is_alive())
listener2.join(timeout=30)
- self.assertFalse(listener2.isAlive())
+ self.assertFalse(listener2.is_alive())
self.assertEqual(1, self._broker.fanout_count)
listener1_ids = [x.message.get('id') for x in listener1.get_messages()]
@@ -359,7 +359,7 @@
wait_for_reply=True,
timeout=1.0)
listener.join(timeout=30)
- self.assertFalse(listener.isAlive())
+ self.assertFalse(listener.is_alive())
driver.cleanup()
def test_released_send(self):
@@ -428,7 +428,7 @@
wait_for_reply=True,
timeout=1.0)
listener.join(timeout=30)
- self.assertFalse(listener.isAlive())
+ self.assertFalse(listener.is_alive())
predicate = lambda: (self._broker.sender_link_ack_count == 1)
_wait_until(predicate, 30)
@@ -465,7 +465,7 @@
wait_for_reply=True,
timeout=5.0)
listener.join(timeout=30)
- self.assertFalse(listener.isAlive())
+ self.assertFalse(listener.is_alive())
driver.cleanup()
def test_call_reply_timeout(self):
@@ -497,7 +497,7 @@
wait_for_reply=True,
timeout=3)
listener.join(timeout=30)
- self.assertFalse(listener.isAlive())
+ self.assertFalse(listener.is_alive())
driver.cleanup()
def test_listener_requeue(self):
@@ -515,7 +515,7 @@
self.assertIsNone(rc)
listener.join(timeout=30)
- self.assertFalse(listener.isAlive())
+ self.assertFalse(listener.is_alive())
predicate = lambda: (self._broker.sender_link_requeue_count == 1)
_wait_until(predicate, 30)
@@ -564,7 +564,7 @@
_wait_until(predicate, 30)
self.assertTrue(predicate())
- self.assertTrue(listener.isAlive())
+ self.assertTrue(listener.is_alive())
self.assertEqual({"msg": "value"}, listener.messages.get().message)
predicate = lambda: (self._broker.receiver_link_count == 0)
@@ -580,7 +580,7 @@
_wait_until(predicate, 30)
self.assertTrue(predicate())
- self.assertTrue(listener.isAlive())
+ self.assertTrue(listener.is_alive())
self.assertEqual({"msg": "value"}, listener.messages.get().message)
predicate = lambda: (self._broker.receiver_link_count == 0)
@@ -606,7 +606,7 @@
self.assertIsNotNone(rc)
self.assertEqual("1", rc.get('correlation-id'))
listener.join(timeout=30)
- self.assertFalse(listener.isAlive())
+ self.assertFalse(listener.is_alive())
driver.cleanup()
def test_call_monitor_bad_no_heartbeat(self):
@@ -626,7 +626,7 @@
timeout=60,
call_monitor_timeout=5)
listener.kill()
- self.assertFalse(listener.isAlive())
+ self.assertFalse(listener.is_alive())
driver.cleanup()
def test_call_monitor_bad_call_timeout(self):
@@ -646,7 +646,7 @@
timeout=11,
call_monitor_timeout=5)
listener.kill()
- self.assertFalse(listener.isAlive())
+ self.assertFalse(listener.is_alive())
driver.cleanup()
@@ -681,7 +681,7 @@
excepted_targets.append(t)
listener.join(timeout=30)
- self.assertFalse(listener.isAlive())
+ self.assertFalse(listener.is_alive())
topics = [x.message.get('target') for x in listener.get_messages()]
self.assertEqual(msg_count, len(topics))
self.assertEqual(2, topics.count('topic-1.info'))
@@ -763,7 +763,7 @@
{"method": "echo"}, wait_for_reply=True)
self.assertIsNotNone(rc)
listener.join(timeout=30)
- self.assertFalse(listener.isAlive())
+ self.assertFalse(listener.is_alive())
driver.cleanup()
def test_authentication_failure(self):
@@ -865,7 +865,7 @@
retry=retry)
self.assertIsNotNone(rc)
listener.join(timeout=30)
- self.assertFalse(listener.isAlive())
+ self.assertFalse(listener.is_alive())
finally:
driver.cleanup()
@@ -949,7 +949,7 @@
def tearDown(self):
super(TestFailover, self).tearDown()
for broker in self._brokers:
- if broker.isAlive():
+ if broker.is_alive():
broker.stop()
def _failover(self, fail_broker):
@@ -1007,7 +1007,7 @@
self.assertEqual(1, self._brokers[self._backup].direct_count)
listener.join(timeout=30)
- self.assertFalse(listener.isAlive())
+ self.assertFalse(listener.is_alive())
# note: stopping the broker first tests cleaning up driver without a
# connection active
@@ -1087,7 +1087,7 @@
listener1.join(timeout=30)
listener2.join(timeout=30)
- self.assertFalse(listener1.isAlive() or listener2.isAlive())
+ self.assertFalse(listener1.is_alive() or listener2.is_alive())
driver.cleanup()
self._brokers[1].stop()
@@ -1127,7 +1127,7 @@
driver.cleanup()
raise
listener.join(timeout=30)
- self.assertFalse(listener.isAlive())
+ self.assertFalse(listener.is_alive())
self.assertEqual(listener.messages.get().message.get('method'), "echo")
driver.cleanup()
@@ -1193,7 +1193,7 @@
wait_for_reply=False)
listener.join(timeout=30)
self.assertTrue(self._broker.fanout_count == 1)
- self.assertFalse(listener.isAlive())
+ self.assertFalse(listener.is_alive())
self.assertEqual(listener.messages.get().message.get('method'), "echo")
driver.cleanup()
@@ -1208,8 +1208,8 @@
else:
# unblock all link when RPC call is made
link.add_capacity(10)
- for l in self._blocked_links:
- l.add_capacity(10)
+ for li in self._blocked_links:
+ li.add_capacity(10)
self._broker.on_receiver_active = _on_active
self._broker.on_credit_exhausted = lambda link: None
@@ -1243,7 +1243,7 @@
self.assertEqual(rc.get('correlation-id'), 'e1')
listener.join(timeout=30)
self.assertTrue(self._broker.fanout_count == 3)
- self.assertFalse(listener.isAlive())
+ self.assertFalse(listener.is_alive())
driver.cleanup()
@@ -1293,15 +1293,15 @@
{"msg": topic}, 2.0)
expected.append(topic)
- for l in rl:
- l.join(timeout=30)
+ for li in rl:
+ li.join(timeout=30)
# anycast will not evenly distribute an odd number of msgs
predicate = lambda: len(expected) == (nl[0].messages.qsize() +
nl[1].messages.qsize())
_wait_until(predicate, 30)
- for l in nl:
- l.kill(timeout=30)
+ for li in nl:
+ li.kill(timeout=30)
s1_payload = [m.message.get('msg') for m in rl[0].get_messages()]
s2_payload = [m.message.get('msg') for m in rl[1].get_messages()]
@@ -1520,7 +1520,7 @@
self.assertEqual(rc.get('correlation-id'), 'blah')
listener.join(timeout=30)
finally:
- self.assertFalse(listener.isAlive())
+ self.assertFalse(listener.is_alive())
driver.cleanup()
def test_released(self):
@@ -1615,7 +1615,7 @@
wait_for_reply=True,
timeout=30)
listener.join(timeout=30)
- self.assertFalse(listener.isAlive())
+ self.assertFalse(listener.is_alive())
driver.cleanup()
def test_server_ok(self):
@@ -1669,7 +1669,7 @@
wait_for_reply=True,
timeout=30)
listener.join(timeout=30)
- self.assertFalse(listener.isAlive())
+ self.assertFalse(listener.is_alive())
driver.cleanup()
def test_bad_server_fail(self):
@@ -1723,7 +1723,7 @@
wait_for_reply=True,
timeout=30)
listener.join(timeout=30)
- self.assertFalse(listener.isAlive())
+ self.assertFalse(listener.is_alive())
driver.cleanup()
def tearDown(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.5.0/oslo_messaging/tests/drivers/test_impl_rabbit.py
new/oslo.messaging-12.7.1/oslo_messaging/tests/drivers/test_impl_rabbit.py
--- old/oslo.messaging-12.5.0/oslo_messaging/tests/drivers/test_impl_rabbit.py
2020-09-11 21:18:07.000000000 +0200
+++ new/oslo.messaging-12.7.1/oslo_messaging/tests/drivers/test_impl_rabbit.py
2021-02-16 10:01:45.000000000 +0100
@@ -33,6 +33,7 @@
from oslo_messaging._drivers import impl_rabbit as rabbit_driver
from oslo_messaging.exceptions import MessageDeliveryFailure
from oslo_messaging.tests import utils as test_utils
+from oslo_messaging.transport import DriverLoadFailure
from unittest import mock
load_tests = testscenarios.load_tests_apply_scenarios
@@ -143,6 +144,20 @@
self.assertIsInstance(driver, rabbit_driver.RabbitDriver)
+ @mock.patch('oslo_messaging._drivers.impl_rabbit.Connection'
+ '.ensure_connection')
+ @mock.patch('oslo_messaging._drivers.impl_rabbit.Connection.reset')
+ def test_driver_load_max_less_than_min(self, fake_ensure, fake_reset):
+ self.config(
+ rpc_conn_pool_size=1, conn_pool_min_size=2,
+ group='oslo_messaging_rabbit')
+ self.messaging_conf.transport_url = self.transport_url
+ error = self.assertRaises(
+ DriverLoadFailure, oslo_messaging.get_transport, self.conf)
+ self.assertIn(
+ "rpc_conn_pool_size: 1 must be greater than or equal "
+ "to conn_pool_min_size: 2", str(error))
+
class TestRabbitDriverLoadSSL(test_utils.BaseTestCase):
scenarios = [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.5.0/oslo_messaging/tests/functional/utils.py
new/oslo.messaging-12.7.1/oslo_messaging/tests/functional/utils.py
--- old/oslo.messaging-12.5.0/oslo_messaging/tests/functional/utils.py
2020-09-11 21:18:07.000000000 +0200
+++ new/oslo.messaging-12.7.1/oslo_messaging/tests/functional/utils.py
2021-02-16 10:01:45.000000000 +0100
@@ -130,7 +130,7 @@
def _stop(self):
self.thread.stop()
self.thread.join(timeout=30)
- if self.thread.isAlive():
+ if self.thread.is_alive():
raise Exception("Server did not shutdown correctly")
def ping(self, ctxt):
@@ -280,13 +280,13 @@
def match(self, actual):
errors = InvalidDistribution(self.original, actual)
- received = [[i for i in l] for l in actual]
+ received = [[idx for idx in act] for act in actual]
def _remove(obj, lists):
- for l in lists:
- if obj in l:
- front = l[0]
- l.remove(obj)
+ for li in lists:
+ if obj in li:
+ front = li[0]
+ li.remove(obj)
return front
return None
@@ -296,8 +296,8 @@
errors.missing += item
elif item != o:
errors.wrong_order.append([item, o])
- for l in received:
- errors.extra += l
+ for li in received:
+ errors.extra += li
return errors or None
@@ -356,7 +356,7 @@
def _stop(self):
self.thread.stop()
self.thread.join(timeout=30)
- if self.thread.isAlive():
+ if self.thread.is_alive():
raise Exception("Server did not shutdown properly")
def notifier(self, publisher, topics=None):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.5.0/oslo_messaging/tests/notify/test_listener.py
new/oslo.messaging-12.7.1/oslo_messaging/tests/notify/test_listener.py
--- old/oslo.messaging-12.5.0/oslo_messaging/tests/notify/test_listener.py
2020-09-11 21:18:07.000000000 +0200
+++ new/oslo.messaging-12.7.1/oslo_messaging/tests/notify/test_listener.py
2021-02-16 10:01:45.000000000 +0100
@@ -42,7 +42,7 @@
if self.thread is not None:
self.thread.stop()
self.thread.join(timeout=15)
- ret = self.thread.isAlive()
+ ret = self.thread.is_alive()
self.thread = None
return ret
return True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.5.0/oslo_messaging/tests/notify/test_notifier.py
new/oslo.messaging-12.7.1/oslo_messaging/tests/notify/test_notifier.py
--- old/oslo.messaging-12.5.0/oslo_messaging/tests/notify/test_notifier.py
2020-09-11 21:18:07.000000000 +0200
+++ new/oslo.messaging-12.7.1/oslo_messaging/tests/notify/test_notifier.py
2021-02-16 10:01:45.000000000 +0100
@@ -1,4 +1,3 @@
-
# Copyright 2013 Red Hat, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.5.0/oslo_messaging/tests/test_exception_serialization.py
new/oslo.messaging-12.7.1/oslo_messaging/tests/test_exception_serialization.py
---
old/oslo.messaging-12.5.0/oslo_messaging/tests/test_exception_serialization.py
2020-09-11 21:18:07.000000000 +0200
+++
new/oslo.messaging-12.7.1/oslo_messaging/tests/test_exception_serialization.py
2021-02-16 10:01:45.000000000 +0100
@@ -198,9 +198,9 @@
args=[],
kwargs={},
str=("Remote error: NovaStyleException test\n"
- "[%r]." % u'traceback\ntraceback\n'),
+ "[%r]." % 'traceback\ntraceback\n'),
msg=("Remote error: NovaStyleException test\n"
- "[%r]." % u'traceback\ntraceback\n'),
+ "[%r]." % 'traceback\ntraceback\n'),
remote_name='RemoteError',
remote_args=(),
remote_kwargs={'exc_type': 'NovaStyleException',
@@ -214,9 +214,9 @@
args=[],
kwargs={},
str=("Remote error: Exception test\n"
- "[%r]." % u'traceback\ntraceback\n'),
+ "[%r]." % 'traceback\ntraceback\n'),
msg=("Remote error: Exception test\n"
- "[%r]." % u'traceback\ntraceback\n'),
+ "[%r]." % 'traceback\ntraceback\n'),
remote_name='RemoteError',
remote_args=(),
remote_kwargs={'exc_type': 'Exception',
@@ -230,9 +230,9 @@
args=[],
kwargs={},
str=("Remote error: FarcicalError test\n"
- "[%r]." % u'traceback\ntraceback\n'),
+ "[%r]." % 'traceback\ntraceback\n'),
msg=("Remote error: FarcicalError test\n"
- "[%r]." % u'traceback\ntraceback\n'),
+ "[%r]." % 'traceback\ntraceback\n'),
remote_name='RemoteError',
remote_args=(),
remote_kwargs={'exc_type': 'FarcicalError',
@@ -246,9 +246,9 @@
args=[],
kwargs={'foobar': 'blaa'},
str=("Remote error: Exception test\n"
- "[%r]." % u'traceback\ntraceback\n'),
+ "[%r]." % 'traceback\ntraceback\n'),
msg=("Remote error: Exception test\n"
- "[%r]." % u'traceback\ntraceback\n'),
+ "[%r]." % 'traceback\ntraceback\n'),
remote_name='RemoteError',
remote_args=(),
remote_kwargs={'exc_type': 'Exception',
@@ -262,9 +262,9 @@
args=[],
kwargs={},
str=("Remote error: SystemExit test\n"
- "[%r]." % u'traceback\ntraceback\n'),
+ "[%r]." % 'traceback\ntraceback\n'),
msg=("Remote error: SystemExit test\n"
- "[%r]." % u'traceback\ntraceback\n'),
+ "[%r]." % 'traceback\ntraceback\n'),
remote_name='RemoteError',
remote_args=(),
remote_kwargs={'exc_type': 'SystemExit',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.5.0/releasenotes/notes/disable-mandatory-flag-a6210a534f3853f0.yaml
new/oslo.messaging-12.7.1/releasenotes/notes/disable-mandatory-flag-a6210a534f3853f0.yaml
---
old/oslo.messaging-12.5.0/releasenotes/notes/disable-mandatory-flag-a6210a534f3853f0.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/oslo.messaging-12.7.1/releasenotes/notes/disable-mandatory-flag-a6210a534f3853f0.yaml
2021-02-16 10:01:45.000000000 +0100
@@ -0,0 +1,5 @@
+---
+upgrade:
+ - |
+ Deprecating the ``direct_mandatory_flag``. It will not be possible to
+ deactivate this functionality anymore.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.5.0/releasenotes/notes/handle-missing-queue-553a803f94976be7.yaml
new/oslo.messaging-12.7.1/releasenotes/notes/handle-missing-queue-553a803f94976be7.yaml
---
old/oslo.messaging-12.5.0/releasenotes/notes/handle-missing-queue-553a803f94976be7.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/oslo.messaging-12.7.1/releasenotes/notes/handle-missing-queue-553a803f94976be7.yaml
2021-02-16 10:01:45.000000000 +0100
@@ -0,0 +1,5 @@
+---
+features:
+ - |
+ Adding retry strategy based on the mandatory flag. Missing exchanges and
+ queues are now identified separately for logging purposes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.5.0/releasenotes/notes/run-heartbeat-in-pthread-by-default-28637b41ebf500dc.yaml
new/oslo.messaging-12.7.1/releasenotes/notes/run-heartbeat-in-pthread-by-default-28637b41ebf500dc.yaml
---
old/oslo.messaging-12.5.0/releasenotes/notes/run-heartbeat-in-pthread-by-default-28637b41ebf500dc.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/oslo.messaging-12.7.1/releasenotes/notes/run-heartbeat-in-pthread-by-default-28637b41ebf500dc.yaml
2021-02-16 10:01:45.000000000 +0100
@@ -0,0 +1,10 @@
+---
+upgrade:
+ - |
+ The ``[oslo_messaging_rabbit] heartbeat_in_pthread`` config option now
+ defaults to ``True``.
+ Applications will run RabbitMQ heartbeat in a Python thread by default.
+deprecations:
+ - |
+ ``heartbeat_in_pthread`` has been deprecated and will be removed in a
+ future release. If configured, this option should be unset.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.5.0/releasenotes/source/conf.py
new/oslo.messaging-12.7.1/releasenotes/source/conf.py
--- old/oslo.messaging-12.5.0/releasenotes/source/conf.py 2020-09-11
21:18:07.000000000 +0200
+++ new/oslo.messaging-12.7.1/releasenotes/source/conf.py 2021-02-16
10:01:45.000000000 +0100
@@ -27,7 +27,7 @@
# -- Project information --------------------------------------------------
# General information about the project.
-copyright = u'2016, oslo.messaging Developers'
+copyright = '2016, oslo.messaging Developers'
# Release notes do not need a version in the title, they span
# multiple versions.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.5.0/releasenotes/source/index.rst
new/oslo.messaging-12.7.1/releasenotes/source/index.rst
--- old/oslo.messaging-12.5.0/releasenotes/source/index.rst 2020-09-11
21:18:07.000000000 +0200
+++ new/oslo.messaging-12.7.1/releasenotes/source/index.rst 2021-02-16
10:01:45.000000000 +0100
@@ -6,6 +6,7 @@
:maxdepth: 1
unreleased
+ victoria
ussuri
train
stein
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.5.0/releasenotes/source/victoria.rst
new/oslo.messaging-12.7.1/releasenotes/source/victoria.rst
--- old/oslo.messaging-12.5.0/releasenotes/source/victoria.rst 1970-01-01
01:00:00.000000000 +0100
+++ new/oslo.messaging-12.7.1/releasenotes/source/victoria.rst 2021-02-16
10:01:45.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/oslo.messaging-12.5.0/test-requirements.txt
new/oslo.messaging-12.7.1/test-requirements.txt
--- old/oslo.messaging-12.5.0/test-requirements.txt 2020-09-11
21:18:07.000000000 +0200
+++ new/oslo.messaging-12.7.1/test-requirements.txt 2021-02-16
10:01:45.000000000 +0100
@@ -7,6 +7,7 @@
fixtures>=3.0.0 # Apache-2.0/BSD
stestr>=2.0.0 # Apache-2.0
+pre-commit>=2.6.0 # MIT
testscenarios>=0.4 # Apache-2.0/BSD
testtools>=2.2.0 # MIT
oslotest>=3.2.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.5.0/tools/simulator.py
new/oslo.messaging-12.7.1/tools/simulator.py
--- old/oslo.messaging-12.5.0/tools/simulator.py 2020-09-11
21:18:07.000000000 +0200
+++ new/oslo.messaging-12.7.1/tools/simulator.py 2021-02-16
10:01:45.000000000 +0100
@@ -1,3 +1,4 @@
+#!/usr/bin/env python3
# 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
@@ -10,8 +11,12 @@
# License for the specific language governing permissions and limitations
# under the License.
-import eventlet # noqa
-eventlet.monkey_patch() # noqa
+try:
+ # Avoid https://github.com/PyCQA/pycodestyle/issues/472
+ import eventlet
+ eventlet.monkey_patch()
+except ImportError:
+ raise
import argparse
import bisect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.5.0/tox.ini
new/oslo.messaging-12.7.1/tox.ini
--- old/oslo.messaging-12.5.0/tox.ini 2020-09-11 21:18:07.000000000 +0200
+++ new/oslo.messaging-12.7.1/tox.ini 2021-02-16 10:01:45.000000000 +0100
@@ -1,6 +1,6 @@
[tox]
minversion = 3.1
-envlist = py38,pep8
+envlist = py3,pep8
ignore_basepython_conflict = true
[testenv]
@@ -12,14 +12,14 @@
REQUIREMENTS_PIP_LOCATION
install_command = pip install {opts} {packages}
deps =
-
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
+
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
commands = stestr run --slowest {posargs}
[testenv:pep8]
commands =
- flake8
+ pre-commit run -a
# run security linter
bandit -r oslo_messaging -x tests -n5
@@ -54,22 +54,19 @@
# scenario03 amqp rabbit
# scenario04 amqp kafka
#
-[testenv:py36-func-scenario01]
-basepython = python3.6
+[testenv:py38-func-scenario01]
setenv =
{[testenv]setenv}
SCENARIO=scenario01
commands = {toxinidir}/tools/setup-scenario-env.sh stestr run --slowest
{posargs:oslo_messaging.tests.functional}
-[testenv:py36-func-scenario02]
-basepython = python3.6
+[testenv:py38-func-scenario02]
setenv =
{[testenv]setenv}
SCENARIO=scenario02
commands = {toxinidir}/tools/setup-scenario-env.sh stestr run --slowest
{posargs:oslo_messaging.tests.functional}
-[testenv:py36-func-scenario03]
-basepython = python3.6
+[testenv:py38-func-scenario03]
setenv =
{[testenv]setenv}
SCENARIO=scenario03
@@ -77,8 +74,7 @@
WORKDIR={toxworkdir}
commands = {toxinidir}/tools/setup-scenario-env.sh stestr run --slowest
{posargs:oslo_messaging.tests.functional}
-[testenv:py36-func-scenario04]
-basepython = python3.6
+[testenv:py38-func-scenario04]
setenv =
{[testenv]setenv}
SCENARIO=scenario04