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-12-12 00:57:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oslo.messaging (Old)
and /work/SRC/openSUSE:Factory/.python-oslo.messaging.new.2520 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-oslo.messaging"
Sun Dec 12 00:57:33 2021 rev:25 rq:939533 version:12.9.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-oslo.messaging/python-oslo.messaging.changes
2021-05-08 22:07:25.345741333 +0200
+++
/work/SRC/openSUSE:Factory/.python-oslo.messaging.new.2520/python-oslo.messaging.changes
2021-12-12 00:57:38.354585601 +0100
@@ -1,0 +2,20 @@
+Mon Dec 6 09:34:51 UTC 2021 - [email protected]
+
+- update to version 12.9.1
+ - bindep: Add 'librdkafka-dev' dependency
+ - setup.cfg: Replace dashes with underscores
+ - amqp1: re-organize TestFailover to be reused by TestSSL
+ - Remove the oslo_utils.fnmatch
+ - Changed minversion in tox to 3.18.0
+ - Revert "Disable AMQP 1.0 SSL unit tests"
+ - amqp1: Do not reuse _socket_connection on reconnect
+ - Add Python3 xena unit tests
+ - Upgrade the pre-commit-hooks version
+ - Update master for stable/wallaby
+ - Fix formatting of release list
+ - Remove references to 'sys.version_info'
+ - Remove lower constraints.
+ - Add Support For oslo.metrics
+ - Move flake8 as a pre-commit local target.
+
+-------------------------------------------------------------------
Old:
----
oslo.messaging-12.7.1.tar.gz
New:
----
oslo.messaging-12.9.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-oslo.messaging.spec ++++++
--- /var/tmp/diff_new_pack.J47H3w/_old 2021-12-12 00:57:38.818585919 +0100
+++ /var/tmp/diff_new_pack.J47H3w/_new 2021-12-12 00:57:38.822585922 +0100
@@ -17,13 +17,13 @@
Name: python-oslo.messaging
-Version: 12.7.1
+Version: 12.9.1
Release: 0
Summary: OpenStack oslo.messaging library
License: Apache-2.0
Group: Development/Languages/Python
URL: https://docs.openstack.org/oslo.messaging
-Source0:
https://files.pythonhosted.org/packages/source/o/oslo.messaging/oslo.messaging-12.7.1.tar.gz
+Source0:
https://files.pythonhosted.org/packages/source/o/oslo.messaging/oslo.messaging-12.9.1.tar.gz
BuildRequires: openstack-macros
BuildRequires: python3-PyYAML >= 3.13
BuildRequires: python3-WebOb >= 1.7.1
@@ -41,6 +41,7 @@
BuildRequires: python3-oslo.config >= 5.2.0
BuildRequires: python3-oslo.i18n
BuildRequires: python3-oslo.log >= 3.36.0
+BuildRequires: python3-oslo.metrics >= 0.2.1
BuildRequires: python3-oslo.middleware >= 3.31.0
BuildRequires: python3-oslo.serialization >= 2.18.0
BuildRequires: python3-oslo.service >= 1.24.0
@@ -72,6 +73,7 @@
Requires: python3-oslo.config >= 5.2.0
Requires: python3-oslo.i18n
Requires: python3-oslo.log >= 3.36.0
+Requires: python3-oslo.metrics >= 0.2.1
Requires: python3-oslo.middleware >= 3.31.0
Requires: python3-oslo.serialization >= 2.18.0
Requires: python3-oslo.service >= 1.24.0
@@ -99,7 +101,7 @@
This package contains the documentation.
%prep
-%autosetup -p1 -n oslo.messaging-12.7.1
+%autosetup -p1 -n oslo.messaging-12.9.1
%py_req_cleanup
%build
++++++ _service ++++++
--- /var/tmp/diff_new_pack.J47H3w/_old 2021-12-12 00:57:38.846585939 +0100
+++ /var/tmp/diff_new_pack.J47H3w/_new 2021-12-12 00:57:38.846585939 +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/oslo.messaging/oslo.messaging.spec.j2</param>
+ <param
name="input-template">https://opendev.org/openstack/rpm-packaging/raw/master/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/wallaby/requirements.txt</param>
+ <param
name="requirements">https://opendev.org/openstack/oslo.messaging/raw/master/requirements.txt</param>
<param name="changelog-email">[email protected]</param>
<param name="changelog-provider">gh,openstack,oslo.messaging</param>
</service>
++++++ oslo.messaging-12.7.1.tar.gz -> oslo.messaging-12.9.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.7.1/.pre-commit-config.yaml
new/oslo.messaging-12.9.1/.pre-commit-config.yaml
--- old/oslo.messaging-12.7.1/.pre-commit-config.yaml 2021-02-16
10:01:45.000000000 +0100
+++ new/oslo.messaging-12.9.1/.pre-commit-config.yaml 2021-08-26
17:39:33.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
+ language: python
+ entry: flake8
+ files: '^.*\.py$'
+ exclude: '^(doc|releasenotes|tools)/.*$'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.7.1/.zuul.yaml
new/oslo.messaging-12.9.1/.zuul.yaml
--- old/oslo.messaging-12.7.1/.zuul.yaml 2021-02-16 10:01:45.000000000
+0100
+++ new/oslo.messaging-12.9.1/.zuul.yaml 2021-08-26 17:39:33.000000000
+0200
@@ -108,7 +108,7 @@
- check-requirements
- lib-forward-testing-python3
- openstack-cover-jobs
- - openstack-python3-wallaby-jobs
+ - openstack-python3-xena-jobs
- periodic-stable-jobs
- publish-openstack-docs-pti
- release-notes-jobs-python3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.7.1/AUTHORS
new/oslo.messaging-12.9.1/AUTHORS
--- old/oslo.messaging-12.7.1/AUTHORS 2021-02-16 10:02:14.000000000 +0100
+++ new/oslo.messaging-12.9.1/AUTHORS 2021-08-26 17:40:14.000000000 +0200
@@ -29,6 +29,7 @@
Charles Short <[email protected]>
Chenjun Shen <[email protected]>
Chet Burgess <[email protected]>
+Ching Kuo <[email protected]>
Chris Dent <[email protected]>
Christian Berendt <[email protected]>
Christian Strack <[email protected]>
@@ -42,6 +43,7 @@
Dan Prince <[email protected]>
Dan Smith <[email protected]>
Daniel Alvarez <[email protected]>
+Daniel Bengtsson <[email protected]>
Davanum Srinivas (dims) <[email protected]>
Davanum Srinivas <[email protected]>
Davanum Srinivas <[email protected]>
@@ -104,6 +106,7 @@
Joe Harrison <[email protected]>
John Eckersberg <[email protected]>
John L. Villalovos <[email protected]>
+Jorhson Deng <[email protected]>
Joshua Harlow <[email protected]>
Joshua Harlow <[email protected]>
Joshua Harlow <[email protected]>
@@ -199,6 +202,7 @@
blue55 <[email protected]>
caoyuan <[email protected]>
chenxing <[email protected]>
+dengzhaosen <[email protected]>
dparalen <[email protected]>
dukhlov <[email protected]>
ericxiett <[email protected]>
@@ -238,8 +242,10 @@
venkatamahesh <[email protected]>
wanglmopenstack <[email protected]>
weiweigu <[email protected]>
+wu.shiming <[email protected]>
xuanyandong <[email protected]>
yan.haifeng <[email protected]>
+yangyawei <[email protected]>
zhang-shaoman <[email protected]>
zhangboye <[email protected]>
zhangjl <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.7.1/ChangeLog
new/oslo.messaging-12.9.1/ChangeLog
--- old/oslo.messaging-12.7.1/ChangeLog 2021-02-16 10:02:14.000000000 +0100
+++ new/oslo.messaging-12.9.1/ChangeLog 2021-08-26 17:40:13.000000000 +0200
@@ -1,9 +1,35 @@
CHANGES
=======
+12.9.1
+------
+
+* amqp1: Do not reuse \_socket\_connection on reconnect
+* amqp1: re-organize TestFailover to be reused by TestSSL
+* Revert "Disable AMQP 1.0 SSL unit tests"
+
+12.9.0
+------
+
+* Add Support For oslo.metrics
+* Changed minversion in tox to 3.18.0
+* Upgrade the pre-commit-hooks version
+* setup.cfg: Replace dashes with underscores
+* Remove the oslo\_utils.fnmatch
+
+12.8.0
+------
+
+* Remove references to 'sys.version\_info'
+* Fix formatting of release list
+* Move flake8 as a pre-commit local target
+* Add Python3 xena unit tests
+* Update master for stable/wallaby
+
12.7.1
------
+* Remove lower constraints
* Correctly handle missing RabbitMQ queues
12.7.0
@@ -63,6 +89,7 @@
* Simplify tools/test-setup.sh
* Drop a python 2 exception management
* Fix pygments style
+* bindep: Add 'librdkafka-dev' dependency
12.2.0
------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.7.1/PKG-INFO
new/oslo.messaging-12.9.1/PKG-INFO
--- old/oslo.messaging-12.7.1/PKG-INFO 2021-02-16 10:02:15.136758800 +0100
+++ new/oslo.messaging-12.9.1/PKG-INFO 2021-08-26 17:40:14.162091500 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: oslo.messaging
-Version: 12.7.1
+Version: 12.9.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.7.1/bindep.txt
new/oslo.messaging-12.9.1/bindep.txt
--- old/oslo.messaging-12.7.1/bindep.txt 2021-02-16 10:01:45.000000000
+0100
+++ new/oslo.messaging-12.9.1/bindep.txt 2021-08-26 17:39:33.000000000
+0200
@@ -35,6 +35,7 @@
# kafka dpkg
openjdk-8-jdk [platform:dpkg kafka]
librdkafka1 [platform:dpkg kafka]
+librdkafka-dev [platform:dpkg kafka]
# kafka rpm
java-1.8.0-openjdk [platform:rpm kafka]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.7.1/lower-constraints.txt
new/oslo.messaging-12.9.1/lower-constraints.txt
--- old/oslo.messaging-12.7.1/lower-constraints.txt 2021-02-16
10:01:45.000000000 +0100
+++ new/oslo.messaging-12.9.1/lower-constraints.txt 1970-01-01
01:00:00.000000000 +0100
@@ -1,82 +0,0 @@
-alabaster==0.7.10
-amqp==2.5.2
-appdirs==1.3.0
-Babel==2.3.4
-bandit==1.1.0
-cachetools==2.0.0
-cffi==1.14.0
-cliff==2.8.0
-cmd2==0.8.0
-confluent-kafka==1.3.0
-contextlib2==0.4.0
-coverage==4.0
-debtcollector==1.2.0
-docutils==0.11
-dulwich==0.15.0
-eventlet==0.23.0
-extras==1.0.0
-fasteners==0.7.0
-fixtures==3.0.0
-futurist==1.2.0
-gitdb==0.6.4
-GitPython==1.0.1
-greenlet==0.4.15
-imagesize==0.7.1
-iso8601==0.1.11
-Jinja2==2.10
-keystoneauth1==3.4.0
-kombu==4.6.6
-linecache2==1.0.0
-MarkupSafe==1.1.1
-mock==2.0.0
-mox3==0.20.0
-msgpack-python==0.4.0
-netaddr==0.8.0
-netifaces==0.10.4
-os-client-config==1.28.0
-oslo.concurrency==3.25.0
-oslo.config==5.2.0
-oslo.context==2.19.2
-oslo.i18n==3.15.3
-oslo.log==3.36.0
-oslo.middleware==3.31.0
-oslo.serialization==2.18.0
-oslo.service==1.24.0
-oslo.utils==3.37.0
-oslotest==3.2.0
-Paste==2.0.2
-PasteDeploy==1.5.0
-pbr==2.0.0
-pifpaf==2.2.0
-prettytable==0.7.2
-pycparser==2.18
-Pygments==2.2.0
-pyinotify==0.9.6
-pyngus==2.2.0
-pyparsing==2.1.0
-pyperclip==1.5.27
-python-dateutil==2.5.3
-python-mimeparse==1.6.0
-python-qpid-proton==0.20.0
-python-subunit==1.0.0
-pytz==2013.6
-PyYAML==3.13
-repoze.lru==0.7
-requests==2.14.2
-requestsexceptions==1.2.0
-rfc3986==0.3.1
-Routes==2.3.1
-smmap==0.9.0
-snowballstemmer==1.2.1
-statsd==3.2.1
-stestr==2.0.0
-stevedore==1.20.0
-tenacity==4.4.0
-testscenarios==0.4
-testtools==2.2.0
-traceback2==1.4.0
-unittest2==1.1.0
-vine==1.1.4
-WebOb==1.7.1
-wrapt==1.7.0
-xattr==0.9.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.7.1/oslo.messaging.egg-info/PKG-INFO
new/oslo.messaging-12.9.1/oslo.messaging.egg-info/PKG-INFO
--- old/oslo.messaging-12.7.1/oslo.messaging.egg-info/PKG-INFO 2021-02-16
10:02:14.000000000 +0100
+++ new/oslo.messaging-12.9.1/oslo.messaging.egg-info/PKG-INFO 2021-08-26
17:40:14.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: oslo.messaging
-Version: 12.7.1
+Version: 12.9.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.7.1/oslo.messaging.egg-info/SOURCES.txt
new/oslo.messaging-12.9.1/oslo.messaging.egg-info/SOURCES.txt
--- old/oslo.messaging-12.7.1/oslo.messaging.egg-info/SOURCES.txt
2021-02-16 10:02:15.000000000 +0100
+++ new/oslo.messaging-12.9.1/oslo.messaging.egg-info/SOURCES.txt
2021-08-26 17:40:14.000000000 +0200
@@ -10,7 +10,6 @@
README.rst
babel.cfg
bindep.txt
-lower-constraints.txt
requirements.txt
setup.cfg
setup.py
@@ -83,6 +82,8 @@
oslo_messaging/_drivers/amqp1_driver/oslo_messaging_amqp_driver_overview.rst
oslo_messaging/_drivers/kafka_driver/__init__.py
oslo_messaging/_drivers/kafka_driver/kafka_options.py
+oslo_messaging/_metrics/__init__.py
+oslo_messaging/_metrics/client.py
oslo_messaging/hacking/__init__.py
oslo_messaging/hacking/checks.py
oslo_messaging/notify/__init__.py
@@ -154,6 +155,7 @@
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
+releasenotes/notes/oslo-metrics-support-fe16343a637cc14b.yaml
releasenotes/notes/pika-driver-has-been-deprecated-e2407fa53c91fe5c.yaml
releasenotes/notes/rabbit-no-wait-for-ack-9e5de3e1320d7660.yaml
releasenotes/notes/removal-deprecated-options-6d4c5db90525c52d.yaml
@@ -175,6 +177,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
releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.7.1/oslo.messaging.egg-info/pbr.json
new/oslo.messaging-12.9.1/oslo.messaging.egg-info/pbr.json
--- old/oslo.messaging-12.7.1/oslo.messaging.egg-info/pbr.json 2021-02-16
10:02:14.000000000 +0100
+++ new/oslo.messaging-12.9.1/oslo.messaging.egg-info/pbr.json 2021-08-26
17:40:14.000000000 +0200
@@ -1 +1 @@
-{"git_version": "11a49a0a", "is_release": true}
\ No newline at end of file
+{"git_version": "f9de265f", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.7.1/oslo.messaging.egg-info/requires.txt
new/oslo.messaging-12.9.1/oslo.messaging.egg-info/requires.txt
--- old/oslo.messaging-12.7.1/oslo.messaging.egg-info/requires.txt
2021-02-16 10:02:14.000000000 +0100
+++ new/oslo.messaging-12.9.1/oslo.messaging.egg-info/requires.txt
2021-08-26 17:40:14.000000000 +0200
@@ -7,6 +7,7 @@
kombu>=4.6.6
oslo.config>=5.2.0
oslo.log>=3.36.0
+oslo.metrics>=0.2.1
oslo.middleware>=3.31.0
oslo.serialization!=2.19.1,>=2.18.0
oslo.service!=1.28.1,>=1.24.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.7.1/oslo_messaging/_drivers/amqp1_driver/controller.py
new/oslo.messaging-12.9.1/oslo_messaging/_drivers/amqp1_driver/controller.py
---
old/oslo.messaging-12.7.1/oslo_messaging/_drivers/amqp1_driver/controller.py
2021-02-16 10:01:45.000000000 +0100
+++
new/oslo.messaging-12.9.1/oslo_messaging/_drivers/amqp1_driver/controller.py
2021-08-26 17:39:33.000000000 +0200
@@ -1265,7 +1265,7 @@
host = self.hosts.next()
LOG.info("Reconnecting to: %(hostname)s:%(port)s",
{'hostname': host.hostname, 'port': host.port})
- self._socket_connection.connect(host)
+ self.processor.wakeup(lambda: self._do_connect())
def _hard_reset(self, reason):
"""Reset the controller to its pre-connection state"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.7.1/oslo_messaging/_drivers/pool.py
new/oslo.messaging-12.9.1/oslo_messaging/_drivers/pool.py
--- old/oslo.messaging-12.7.1/oslo_messaging/_drivers/pool.py 2021-02-16
10:01:45.000000000 +0100
+++ new/oslo.messaging-12.9.1/oslo_messaging/_drivers/pool.py 2021-08-26
17:39:33.000000000 +0200
@@ -14,7 +14,6 @@
import abc
import collections
-import sys
import threading
from oslo_log import log as logging
@@ -24,16 +23,6 @@
LOG = logging.getLogger(__name__)
-# TODO(harlowja): remove this when we no longer have to support 2.7
-if sys.version_info[0:2] < (3, 2):
- def wait_condition(cond):
- # FIXME(markmc): timeout needed to allow keyboard interrupt
- # http://bugs.python.org/issue8844
- cond.wait(timeout=1)
-else:
- def wait_condition(cond):
- cond.wait()
-
class Pool(object, metaclass=abc.ABCMeta):
"""A thread-safe object pool.
@@ -102,7 +91,7 @@
"current size %s surpasses max "
"configured rpc_conn_pool_size %s",
self._current_size, self._max_size)
- wait_condition(self._cond)
+ self._cond.wait()
# We've grabbed a slot and dropped the lock, now do the creation
try:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.7.1/oslo_messaging/_metrics/__init__.py
new/oslo.messaging-12.9.1/oslo_messaging/_metrics/__init__.py
--- old/oslo.messaging-12.7.1/oslo_messaging/_metrics/__init__.py
1970-01-01 01:00:00.000000000 +0100
+++ new/oslo.messaging-12.9.1/oslo_messaging/_metrics/__init__.py
2021-08-26 17:39:33.000000000 +0200
@@ -0,0 +1,19 @@
+# Copyright 2020 LINE Corp.
+#
+# 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.
+__all__ = [
+ 'MetricsCollectorClient',
+ 'get_collector',
+]
+
+from .client import *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.7.1/oslo_messaging/_metrics/client.py
new/oslo.messaging-12.9.1/oslo_messaging/_metrics/client.py
--- old/oslo.messaging-12.7.1/oslo_messaging/_metrics/client.py 1970-01-01
01:00:00.000000000 +0100
+++ new/oslo.messaging-12.9.1/oslo_messaging/_metrics/client.py 2021-08-26
17:39:33.000000000 +0200
@@ -0,0 +1,256 @@
+
+# Copyright 2020 LINE Corp.
+#
+# 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 queue
+import socket
+import threading
+import time
+
+from oslo_config import cfg
+from oslo_log import log as logging
+from oslo_metrics import message_type
+from oslo_utils import eventletutils
+from oslo_utils import importutils
+
+
+LOG = logging.getLogger(__name__)
+
+eventlet = importutils.try_import('eventlet')
+if eventlet and eventletutils.is_monkey_patched("thread"):
+ # Here we initialize module with the native python threading module
+ # if it was already monkey patched by eventlet/greenlet.
+ stdlib_threading = eventlet.patcher.original('threading')
+else:
+ # Manage the case where we run this driver in a non patched environment
+ # and where user even so configure the driver to run heartbeat through
+ # a python thread, if we don't do that when the heartbeat will start
+ # we will facing an issue by trying to override the threading module.
+ stdlib_threading = threading
+
+oslo_messaging_metrics = [
+ cfg.BoolOpt('metrics_enabled', default=False,
+ help='Boolean to send rpc metrics to oslo.metrics.'),
+ cfg.IntOpt('metrics_buffer_size', default=1000,
+ help='Buffer size to store in oslo.messaging.'),
+ cfg.StrOpt('metrics_socket_file',
+ default='/var/tmp/metrics_collector.sock',
+ help='Unix domain socket file to be used'
+ ' to send rpc related metrics'),
+ cfg.StrOpt('metrics_process_name',
+ default='',
+ help='Process name which is used to identify which process'
+ ' produce metrics'),
+ cfg.IntOpt('metrics_thread_stop_timeout',
+ default=10,
+ help='Sending thread stop once metrics_thread_stop_timeout'
+ ' seconds after the last successful metrics send.'
+ ' So that this thread will not be the blocker'
+ ' when process is shutting down.'
+ ' If the process is still running, sending thread will'
+ ' be restarted at the next metrics queueing time')
+]
+cfg.CONF.register_opts(oslo_messaging_metrics, group='oslo_messaging_metrics')
+
+
+class MetricsCollectorClient(object):
+
+ def __init__(self, conf, metrics_type, **kwargs):
+ self.conf = conf.oslo_messaging_metrics
+ self.unix_socket = self.conf.metrics_socket_file
+ buffer_size = self.conf.metrics_buffer_size
+ self.tx_queue = queue.Queue(buffer_size)
+ self.next_send_metric = None
+ self.metrics_type = metrics_type
+ self.args = kwargs
+ self.send_thread = threading.Thread(target=self.send_loop)
+ self.send_thread.start()
+
+ def __enter__(self):
+ if not self.conf.metrics_enabled:
+ return None
+ self.start_time = time.time()
+ send_method = getattr(self, self.metrics_type +
+ "_invocation_start_total")
+ send_method(**self.args)
+ return self
+
+ def __exit__(self, exc_type, exc_value, traceback):
+ if self.conf.metrics_enabled:
+ duration = time.time() - self.start_time
+ send_method = getattr(
+ self, self.metrics_type + "_processing_seconds")
+ send_method(duration=duration, **self.args)
+ send_method = getattr(
+ self, self.metrics_type + "_invocation_end_total")
+ send_method(**self.args)
+
+ def put_into_txqueue(self, metrics_name, action, **labels):
+
+ labels['process'] = \
+ self.conf.metrics_process_name
+ m = message_type.Metric("oslo_messaging", metrics_name, action,
+ **labels)
+
+ try:
+ self.tx_queue.put_nowait(m)
+ except queue.Full:
+ LOG.warning("tx queues is already full(%s/%s). Fails to "
+ "send the metrics(%s)" %
+ (self.tx_queue.qsize(), self.tx_queue.maxsize, m))
+
+ if not self.send_thread.is_alive():
+ self.send_thread = threading.Thread(target=self.send_loop)
+ self.send_thread.start()
+
+ def send_loop(self):
+ timeout = self.conf.metrics_thread_stop_timeout
+ stoptime = time.time() + timeout
+ while stoptime > time.time():
+ if self.next_send_metric is None:
+ try:
+ self.next_send_metric = self.tx_queue.get(timeout=timeout)
+ except queue.Empty:
+ continue
+ try:
+ self.send_metric(self.next_send_metric)
+ self.next_send_metric = None
+ stoptime = time.time() + timeout
+ except Exception as e:
+ LOG.error("Failed to send metrics: %s. "
+ "Wait 1 seconds for next try." % e)
+ time.sleep(1)
+
+ def send_metric(self, metric):
+ s = socket.socket(socket.AF_UNIX, socket.SOCK_DGRAM)
+ s.connect(self.unix_socket)
+ s.send(metric.to_json().encode())
+ s.close()
+
+ def put_rpc_client_metrics_to_txqueue(self, metric_name, action,
+ target, method, call_type, timeout,
+ exception=None):
+ kwargs = {
+ 'call_type': call_type,
+ 'exchange': target.exchange,
+ 'topic': target.topic,
+ 'namespace': target.namespace,
+ 'version': target.version,
+ 'server': target.server,
+ 'fanout': target.fanout,
+ 'method': method,
+ 'timeout': timeout,
+ }
+ if exception:
+ kwargs['exception'] = exception
+
+ self.put_into_txqueue(metric_name, action, **kwargs)
+
+ def rpc_client_invocation_start_total(self, target, method, call_type,
+ timeout=None):
+ self.put_rpc_client_metrics_to_txqueue(
+ "rpc_client_invocation_start_total",
+ message_type.MetricAction("inc", None),
+ target, method, call_type, timeout
+ )
+
+ def rpc_client_invocation_end_total(self, target, method, call_type,
+ timeout=None):
+ self.put_rpc_client_metrics_to_txqueue(
+ "rpc_client_invocation_end_total",
+ message_type.MetricAction("inc", None),
+ target, method, call_type, timeout
+ )
+
+ def rpc_client_processing_seconds(self, target, method, call_type,
+ duration, timeout=None):
+ self.put_rpc_client_metrics_to_txqueue(
+ "rpc_client_processing_seconds",
+ message_type.MetricAction("observe", duration),
+ target, method, call_type, timeout
+ )
+
+ def rpc_client_exception_total(self, target, method, call_type, exception,
+ timeout=None):
+ self.put_rpc_client_metrics_to_txqueue(
+ "rpc_client_exception_total",
+ message_type.MetricAction("inc", None),
+ target, method, call_type, timeout, exception
+ )
+
+ def put_rpc_server_metrics_to_txqueue(self, metric_name, action,
+ target, endpoint, ns, ver, method,
+ exception=None):
+ kwargs = {
+ 'endpoint': endpoint,
+ 'namespace': ns,
+ 'version': ver,
+ 'method': method,
+ 'exchange': None,
+ 'topic': None,
+ 'server': None
+ }
+ if target:
+ kwargs['exchange'] = target.exchange
+ kwargs['topic'] = target.topic
+ kwargs['server'] = target.server
+ if exception:
+ kwargs['exception'] = exception
+
+ self.put_into_txqueue(metric_name, action, **kwargs)
+
+ def rpc_server_invocation_start_total(self, target, endpoint,
+ ns, ver, method):
+ self.put_rpc_server_metrics_to_txqueue(
+ "rpc_server_invocation_start_total",
+ message_type.MetricAction("inc", None),
+ target, endpoint, ns, ver, method
+ )
+
+ def rpc_server_invocation_end_total(self, target, endpoint,
+ ns, ver, method):
+ self.put_rpc_server_metrics_to_txqueue(
+ "rpc_server_invocation_end_total",
+ message_type.MetricAction("inc", None),
+ target, endpoint, ns, ver, method
+ )
+
+ def rpc_server_processing_seconds(self, target, endpoint, ns, ver,
+ method, duration):
+ self.put_rpc_server_metrics_to_txqueue(
+ "rpc_server_processing_seconds",
+ message_type.MetricAction("observe", duration),
+ target, endpoint, ns, ver, method
+ )
+
+ def rpc_server_exception_total(self, target, endpoint, ns, ver,
+ method, exception):
+ self.put_rpc_server_metrics_to_txqueue(
+ "rpc_server_exception_total",
+ message_type.MetricAction("inc", None),
+ target, endpoint, ns, ver, method, exception=exception
+ )
+
+
+METRICS_COLLECTOR = None
+
+
+def get_collector(conf, metrics_type, **kwargs):
+ global threading
+ threading = stdlib_threading
+ global METRICS_COLLECTOR
+ if METRICS_COLLECTOR is None:
+ METRICS_COLLECTOR = MetricsCollectorClient(
+ conf, metrics_type, **kwargs)
+ return METRICS_COLLECTOR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.7.1/oslo_messaging/conffixture.py
new/oslo.messaging-12.9.1/oslo_messaging/conffixture.py
--- old/oslo.messaging-12.7.1/oslo_messaging/conffixture.py 2021-02-16
10:01:45.000000000 +0100
+++ new/oslo.messaging-12.9.1/oslo_messaging/conffixture.py 2021-08-26
17:39:33.000000000 +0200
@@ -67,6 +67,10 @@
'oslo_messaging.notify.notifier',
'_notifier_opts',
'oslo_messaging_notifications')
+ _import_opts(self.conf,
+ 'oslo_messaging._metrics.client',
+ 'oslo_messaging_metrics',
+ 'oslo_messaging_metrics')
if transport_url is not None:
self.transport_url = transport_url
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.7.1/oslo_messaging/notify/_impl_routing.py
new/oslo.messaging-12.9.1/oslo_messaging/notify/_impl_routing.py
--- old/oslo.messaging-12.7.1/oslo_messaging/notify/_impl_routing.py
2021-02-16 10:01:45.000000000 +0100
+++ new/oslo.messaging-12.9.1/oslo_messaging/notify/_impl_routing.py
2021-08-26 17:39:33.000000000 +0200
@@ -13,10 +13,10 @@
# License for the specific language governing permissions and limitations
# under the License.
+import fnmatch
import logging
from oslo_config import cfg
-from oslo_utils import fnmatch
from stevedore import dispatch
import yaml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.7.1/oslo_messaging/rpc/client.py
new/oslo.messaging-12.9.1/oslo_messaging/rpc/client.py
--- old/oslo.messaging-12.7.1/oslo_messaging/rpc/client.py 2021-02-16
10:01:45.000000000 +0100
+++ new/oslo.messaging-12.9.1/oslo_messaging/rpc/client.py 2021-08-26
17:39:33.000000000 +0200
@@ -21,6 +21,7 @@
from oslo_config import cfg
from oslo_messaging._drivers import base as driver_base
+from oslo_messaging import _metrics as metrics
from oslo_messaging import _utils as utils
from oslo_messaging import exceptions
from oslo_messaging import serializer as msg_serializer
@@ -146,12 +147,23 @@
self._check_version_cap(msg.get('version'))
- try:
- self.transport._send(self.target, msg_ctxt, msg,
- retry=self.retry,
- transport_options=self.transport_options)
- except driver_base.TransportDriverError as ex:
- raise ClientSendError(self.target, ex)
+ with metrics.get_collector(self.conf, "rpc_client",
+ target=self.target,
+ method=method,
+ call_type="cast") as metrics_collector:
+ try:
+ self.transport._send(self.target, msg_ctxt, msg,
+ retry=self.retry,
+ transport_options=self.transport_options)
+ except driver_base.TransportDriverError as ex:
+ self._metrics_api.rpc_client_exception_total(
+ self.target, method, "cast", ex.__class__.__name__)
+ raise ClientSendError(self.target, ex)
+ except Exception as ex:
+ if self.conf.oslo_messaging_metrics.metrics_enabled:
+ metrics_collector.rpc_client_exception_total(
+ self.target, method, "cast", ex.__class__.__name__)
+ raise
def call(self, ctxt, method, **kwargs):
"""Invoke a method and wait for a reply. See RPCClient.call()."""
@@ -170,17 +182,24 @@
self._check_version_cap(msg.get('version'))
- try:
- result = \
- self.transport._send(self.target, msg_ctxt, msg,
- wait_for_reply=True, timeout=timeout,
- call_monitor_timeout=cm_timeout,
- retry=self.retry,
- transport_options=self.transport_options)
- except driver_base.TransportDriverError as ex:
- raise ClientSendError(self.target, ex)
-
- return self.serializer.deserialize_entity(ctxt, result)
+ with metrics.get_collector(self.conf, "rpc_client",
+ target=self.target, method=method,
+ call_type="call") as metrics_collector:
+ try:
+ result = self.transport._send(
+ self.target, msg_ctxt, msg, wait_for_reply=True,
+ timeout=timeout, call_monitor_timeout=cm_timeout,
+ retry=self.retry, transport_options=self.transport_options)
+ except driver_base.TransportDriverError as ex:
+ self._metrics_api.rpc_client_exception_total(
+ self.target, method, "call", ex.__class__.__name__)
+ raise ClientSendError(self.target, ex)
+ except Exception as ex:
+ if self.conf.oslo_messaging_metrics.metrics_enabled:
+ metrics_collector.rpc_client_exception_total(
+ self.target, method, "call", ex.__class__.__name__)
+ raise
+ return self.serializer.deserialize_entity(ctxt, result)
@abc.abstractmethod
def prepare(self, exchange=_marker, topic=_marker, namespace=_marker,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.7.1/oslo_messaging/tests/drivers/test_amqp_driver.py
new/oslo.messaging-12.9.1/oslo_messaging/tests/drivers/test_amqp_driver.py
--- old/oslo.messaging-12.7.1/oslo_messaging/tests/drivers/test_amqp_driver.py
2021-02-16 10:01:45.000000000 +0100
+++ new/oslo.messaging-12.9.1/oslo_messaging/tests/drivers/test_amqp_driver.py
2021-08-26 17:39:33.000000000 +0200
@@ -55,8 +55,7 @@
CYRUS_ENABLED = (pyngus and pyngus.VERSION >= (2, 0, 0) and _proton and
getattr(_proton.SASL, "extended", lambda: False)())
# same with SSL
-# SSL_ENABLED = (_proton and getattr(_proton.SSL, "present", lambda: False)())
-SSL_ENABLED = False
+SSL_ENABLED = (_proton and getattr(_proton.SSL, "present", lambda: False)())
LOG = logging.getLogger(__name__)
@@ -932,19 +931,14 @@
# configure different addressing modes on the brokers to test failing
# over from one type of backend to another
self.config(addressing_mode='dynamic', group="oslo_messaging_amqp")
- self._brokers = [FakeBroker(self.conf.oslo_messaging_amqp,
- product="qpid-cpp"),
- FakeBroker(self.conf.oslo_messaging_amqp,
- product="routable")]
+ self._brokers = self._gen_brokers()
self._primary = 0
self._backup = 1
hosts = []
for broker in self._brokers:
hosts.append(oslo_messaging.TransportHost(hostname=broker.host,
port=broker.port))
- self._broker_url = oslo_messaging.TransportURL(self.conf,
- transport="amqp",
- hosts=hosts)
+ self._broker_url = self._gen_transport_url(hosts)
def tearDown(self):
super(TestFailover, self).tearDown()
@@ -952,6 +946,17 @@
if broker.is_alive():
broker.stop()
+ def _gen_brokers(self):
+ return [FakeBroker(self.conf.oslo_messaging_amqp,
+ product="qpid-cpp"),
+ FakeBroker(self.conf.oslo_messaging_amqp,
+ product="routable")]
+
+ def _gen_transport_url(self, hosts):
+ return oslo_messaging.TransportURL(self.conf,
+ transport="amqp",
+ hosts=hosts)
+
def _failover(self, fail_broker):
self._brokers[0].start()
self._brokers[1].start()
@@ -1548,33 +1553,42 @@
@testtools.skipUnless(SSL_ENABLED, "OpenSSL not supported")
-class TestSSL(test_utils.BaseTestCase):
+class TestSSL(TestFailover):
"""Test the driver's OpenSSL integration"""
def setUp(self):
- super(TestSSL, self).setUp()
+ self._broker = None
# Create the CA, server, and client SSL certificates:
self._tmpdir = tempfile.mkdtemp(prefix='amqp1')
- files = ['ca_key', 'ca_cert', 's_key', 's_req', 's_cert', 'c_key',
- 'c_req', 'c_cert', 'bad_cert', 'bad_req', 'bad_key']
+ files = ['ca_key', 'ca_cert', 's_key', 's_req', 's_cert', 's2_key',
+ 's2_req', 's2_cert', 'c_key', 'c_req', 'c_cert', 'bad_cert',
+ 'bad_req', 'bad_key']
conf = dict(zip(files, [os.path.join(self._tmpdir, "%s.pem" % f)
for f in files]))
conf['pw'] = 'password'
conf['s_name'] = '127.0.0.1'
+ conf['s2_name'] = '127.0.0.2'
conf['c_name'] = 'client.com'
+
self._ssl_config = conf
ssl_setup = [
# create self-signed CA certificate:
Template('openssl req -x509 -nodes -newkey rsa:2048'
' -subj "/CN=Trusted.CA.com" -keyout ${ca_key}'
' -out ${ca_cert}').substitute(conf),
- # create Server key and certificate:
+ # create Server keys and certificates:
Template('openssl genrsa -out ${s_key} 2048').substitute(conf),
Template('openssl req -new -key ${s_key} -subj /CN=${s_name}'
' -passin pass:${pw} -out ${s_req}').substitute(conf),
Template('openssl x509 -req -in ${s_req} -CA ${ca_cert}'
' -CAkey ${ca_key} -CAcreateserial -out'
' ${s_cert}').substitute(conf),
+ Template('openssl genrsa -out ${s2_key} 2048').substitute(conf),
+ Template('openssl req -new -key ${s2_key} -subj /CN=${s2_name}'
+ ' -passin pass:${pw} -out ${s2_req}').substitute(conf),
+ Template('openssl x509 -req -in ${s2_req} -CA ${ca_cert}'
+ ' -CAkey ${ca_key} -CAcreateserial -out'
+ ' ${s2_cert}').substitute(conf),
# create a "bad" Server cert for testing CN validation:
Template('openssl genrsa -out ${bad_key} 2048').substitute(conf),
Template('openssl req -new -key ${bad_key} -subj /CN=Invalid'
@@ -1599,10 +1613,30 @@
self._tmpdir = None
self.skipTest("OpenSSL tools not installed - skipping")
- def _ssl_server_ok(self, url):
- self._broker.start()
+ super(TestSSL, self).setUp()
+
self.config(ssl_ca_file=self._ssl_config['ca_cert'],
group='oslo_messaging_amqp')
+
+ def _gen_brokers(self):
+ s2_conf = self._ssl_config.copy()
+ for item in ['name', 'key', 'req', 'cert']:
+ s2_conf["s_%s" % item] = s2_conf["s2_%s" % item]
+
+ return [FakeBroker(self.conf.oslo_messaging_amqp,
+ sock_addr=self._ssl_config['s_name'],
+ ssl_config=self._ssl_config),
+ FakeBroker(self.conf.oslo_messaging_amqp,
+ sock_addr=s2_conf['s_name'],
+ ssl_config=s2_conf)]
+
+ def _gen_transport_url(self, hosts):
+ url = "amqp://%s" % (",".join(map(lambda x: "%s:%d" %
+ (x.hostname, x.port), hosts)))
+ return oslo_messaging.TransportURL.parse(self.conf, url)
+
+ def _ssl_server_ok(self, url):
+ self._broker.start()
tport_url = oslo_messaging.TransportURL.parse(self.conf, url)
driver = amqp_driver.ProtonDriver(self.conf, tport_url)
target = oslo_messaging.Target(topic="test-topic")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.7.1/oslo_messaging/tests/functional/test_functional.py
new/oslo.messaging-12.9.1/oslo_messaging/tests/functional/test_functional.py
---
old/oslo.messaging-12.7.1/oslo_messaging/tests/functional/test_functional.py
2021-02-16 10:01:45.000000000 +0100
+++
new/oslo.messaging-12.9.1/oslo_messaging/tests/functional/test_functional.py
2021-08-26 17:39:33.000000000 +0200
@@ -12,6 +12,8 @@
# under the License.
import os
+import requests
+import subprocess
import time
import uuid
@@ -565,3 +567,35 @@
self.assertEqual('test', event[1])
self.assertEqual('Hello World!', event[2])
self.assertEqual('abc', event[3])
+
+
+class MetricsTestCase(utils.SkipIfNoTransportURL):
+
+ def setUp(self):
+ super(MetricsTestCase, self).setUp(conf=cfg.ConfigOpts())
+ if self.rpc_url.startswith("kafka://"):
+ self.skipTest("kafka does not support RPC API")
+
+ self.config(metrics_enabled=True,
+ group='oslo_messaging_metrics')
+
+ def test_functional(self):
+ # verify call metrics is sent and reflected in oslo.metrics
+ self.config(metrics_socket_file='/var/tmp/metrics_collector.sock',
+ group='oslo_messaging_metrics')
+ metric_server = subprocess.Popen(["python3", "-m", "oslo_metrics"])
+ time.sleep(1)
+ group = self.useFixture(
+ utils.RpcServerGroupFixture(self.conf, self.rpc_url))
+ client = group.client(1)
+ client.add(increment=1)
+ time.sleep(1)
+ r = requests.get('http://localhost:3000')
+ for line in r.text.split('\n'):
+ if 'client_invocation_start_total{' in line:
+ self.assertEqual('1.0', line[-3:])
+ elif 'client_invocation_end_total{' in line:
+ self.assertEqual('1.0', line[-3:])
+ elif 'client_processing_seconds_count{' in line:
+ self.assertEqual('1.0', line[-3:])
+ metric_server.terminate()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.7.1/releasenotes/notes/oslo-metrics-support-fe16343a637cc14b.yaml
new/oslo.messaging-12.9.1/releasenotes/notes/oslo-metrics-support-fe16343a637cc14b.yaml
---
old/oslo.messaging-12.7.1/releasenotes/notes/oslo-metrics-support-fe16343a637cc14b.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/oslo.messaging-12.9.1/releasenotes/notes/oslo-metrics-support-fe16343a637cc14b.yaml
2021-08-26 17:39:33.000000000 +0200
@@ -0,0 +1,8 @@
+---
+features:
+ - |
+ | Introduce support for sending rpc client metrics to oslo.metrics.
+ | This feature can be enabled by setting a configuration parameter:
+
+ [oslo_messaging_metrics]
+ metrics_enabled = True # default is false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.7.1/releasenotes/source/index.rst
new/oslo.messaging-12.9.1/releasenotes/source/index.rst
--- old/oslo.messaging-12.7.1/releasenotes/source/index.rst 2021-02-16
10:01:45.000000000 +0100
+++ new/oslo.messaging-12.9.1/releasenotes/source/index.rst 2021-08-26
17:39:33.000000000 +0200
@@ -2,16 +2,17 @@
oslo.messaging Release Notes
=============================
- .. toctree::
- :maxdepth: 1
+.. toctree::
+ :maxdepth: 1
- unreleased
- victoria
- ussuri
- train
- stein
- rocky
- queens
- pike
- ocata
- newton
+ unreleased
+ wallaby
+ victoria
+ ussuri
+ train
+ stein
+ rocky
+ queens
+ pike
+ ocata
+ newton
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.messaging-12.7.1/releasenotes/source/wallaby.rst
new/oslo.messaging-12.9.1/releasenotes/source/wallaby.rst
--- old/oslo.messaging-12.7.1/releasenotes/source/wallaby.rst 1970-01-01
01:00:00.000000000 +0100
+++ new/oslo.messaging-12.9.1/releasenotes/source/wallaby.rst 2021-08-26
17:39:33.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/oslo.messaging-12.7.1/requirements.txt
new/oslo.messaging-12.9.1/requirements.txt
--- old/oslo.messaging-12.7.1/requirements.txt 2021-02-16 10:01:45.000000000
+0100
+++ new/oslo.messaging-12.9.1/requirements.txt 2021-08-26 17:39:33.000000000
+0200
@@ -28,3 +28,6 @@
# middleware
oslo.middleware>=3.31.0 # Apache-2.0
+
+# metrics
+oslo.metrics>=0.2.1 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.7.1/setup.cfg
new/oslo.messaging-12.9.1/setup.cfg
--- old/oslo.messaging-12.7.1/setup.cfg 2021-02-16 10:02:15.136758800 +0100
+++ new/oslo.messaging-12.9.1/setup.cfg 2021-08-26 17:40:14.166091400 +0200
@@ -1,12 +1,12 @@
[metadata]
name = oslo.messaging
author = OpenStack
-author-email = [email protected]
+author_email = [email protected]
summary = Oslo Messaging API
-description-file =
+description_file =
README.rst
-home-page = https://docs.openstack.org/oslo.messaging/latest/
-python-requires = >=3.6
+home_page = https://docs.openstack.org/oslo.messaging/latest/
+python_requires = >=3.6
classifier =
Environment :: OpenStack
Intended Audience :: Developers
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.messaging-12.7.1/tox.ini
new/oslo.messaging-12.9.1/tox.ini
--- old/oslo.messaging-12.7.1/tox.ini 2021-02-16 10:01:45.000000000 +0100
+++ new/oslo.messaging-12.9.1/tox.ini 2021-08-26 17:39:33.000000000 +0200
@@ -1,5 +1,5 @@
[tox]
-minversion = 3.1
+minversion = 3.18.0
envlist = py3,pep8
ignore_basepython_conflict = true
@@ -36,7 +36,7 @@
commands = {posargs}
[testenv:docs]
-whitelist_externals = rm
+allowlist_externals = rm
deps = -r{toxinidir}/doc/requirements.txt
commands =
rm -fr doc/build
@@ -105,7 +105,7 @@
paths = ./oslo_messaging/hacking
[testenv:releasenotes]
-whitelist_externals = rm
+allowlist_externals = rm
commands =
rm -rf releasenotes/build
sphinx-build -a -E -W -d releasenotes/build/doctrees --keep-going -b html
releasenotes/source releasenotes/build/html
@@ -114,9 +114,3 @@
[testenv:bindep]
deps = bindep
commands = bindep {posargs}
-
-[testenv:lower-constraints]
-deps =
- -c{toxinidir}/lower-constraints.txt
- -r{toxinidir}/test-requirements.txt
- -r{toxinidir}/requirements.txt