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 2024-01-05 21:41:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oslo.messaging (Old)
 and      /work/SRC/openSUSE:Factory/.python-oslo.messaging.new.28375 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-oslo.messaging"

Fri Jan  5 21:41:46 2024 rev:30 rq:1136729 version:14.5.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-oslo.messaging/python-oslo.messaging.changes  
    2023-06-22 23:25:15.001620714 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-oslo.messaging.new.28375/python-oslo.messaging.changes
   2024-01-05 21:42:57.797680523 +0100
@@ -1,0 +2,16 @@
+Thu Jan  4 09:10:30 UTC 2024 - [email protected]
+
+- update to version 14.5.0
+  - Imported Translations from Zanata
+  - Bump bandit and make oslo.messaging compatible with latest rules
+  - Add some logs when sending RPC messages
+  - Set default heartbeat_rate to 3
+  - Move integration jobs to Ubuntu 22.04 (Jammy)
+  - Only allow safe context fields in notifications
+  - Deprecate the amqp1 driver and Remove qpid functional tests
+  - Update master for stable/2023.2
+  - Add is_admin to safe fields list for notifications
+  - Add Python3 antelope unit tests
+  - test py311 job
+
+-------------------------------------------------------------------

Old:
----
  oslo.messaging-14.3.1.tar.gz

New:
----
  oslo.messaging-14.5.0.tar.gz

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

Other differences:
------------------
++++++ python-oslo.messaging.spec ++++++
--- /var/tmp/diff_new_pack.xQXqmq/_old  2024-01-05 21:42:58.425703487 +0100
+++ /var/tmp/diff_new_pack.xQXqmq/_new  2024-01-05 21:42:58.429703632 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-oslo.messaging
 #
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 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:        14.3.1
+Version:        14.5.0
 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-14.3.1.tar.gz
+Source0:        
https://files.pythonhosted.org/packages/source/o/oslo.messaging/oslo.messaging-14.5.0.tar.gz
 BuildRequires:  openstack-macros
 BuildRequires:  python3-PyYAML >= 3.13
 BuildRequires:  python3-WebOb >= 1.7.1
@@ -98,7 +98,7 @@
 This package contains the documentation.
 
 %prep
-%autosetup -p1 -n oslo.messaging-14.3.1
+%autosetup -p1 -n oslo.messaging-14.5.0
 %py_req_cleanup
 
 %build
@@ -118,7 +118,7 @@
 # fail without it
 rm -rf oslo_messaging/tests/functional
 # 3 cyrus tests fail on rdo with time out
-%{openstack_stestr_run} --black-regex 
'^oslo_messaging.tests.(functional|drivers.test_amqp_driver.TestCyrusAuthentication.test_authentication_(ok|ignore_default_realm|default_realm))'
+%{openstack_stestr_run} --exclude-regex 
'^oslo_messaging.tests.(functional|drivers.test_amqp_driver.TestCyrusAuthentication.test_authentication_(ok|ignore_default_realm|default_realm))'
 
 %files -n python3-oslo.messaging
 %license LICENSE

++++++ _service ++++++
--- /var/tmp/diff_new_pack.xQXqmq/_old  2024-01-05 21:42:58.453704510 +0100
+++ /var/tmp/diff_new_pack.xQXqmq/_new  2024-01-05 21:42:58.457704657 +0100
@@ -1,13 +1,13 @@
 <services>
-  <service mode="disabled" name="renderspec">
+  <service mode="manual" name="renderspec">
     <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/master/requirements.txt</param>
     <param name="changelog-email">[email protected]</param>
     <param name="changelog-provider">gh,openstack,oslo.messaging</param>
   </service>
-  <service mode="disabled" name="download_files">
+  <service mode="manual" name="download_files">
   </service>
-  <service name="format_spec_file" mode="disabled"/>
+  <service name="format_spec_file" mode="manual"/>
 </services>
 

++++++ oslo.messaging-14.3.1.tar.gz -> oslo.messaging-14.5.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.messaging-14.3.1/.zuul.yaml 
new/oslo.messaging-14.5.0/.zuul.yaml
--- old/oslo.messaging-14.3.1/.zuul.yaml        2023-06-01 17:07:22.000000000 
+0200
+++ new/oslo.messaging-14.5.0/.zuul.yaml        2023-11-14 11:07:37.000000000 
+0100
@@ -1,35 +1,34 @@
 - job:
-    name: oslo.messaging-tox-py38-func-scenario01
-    parent: openstack-tox-py38
+    name: oslo.messaging-tox-py310-func-scenario01
+    parent: openstack-tox-py310
     vars:
-      tox_envlist: py38-func-scenario01
+      tox_envlist: py310-func-scenario01
       bindep_profile: rabbit
 
 - job:
-    name: oslo.messaging-tox-py38-func-scenario02
-    parent: openstack-tox-py38
+    name: oslo.messaging-tox-py310-func-scenario02
+    parent: openstack-tox-py310
     vars:
-      tox_envlist: py38-func-scenario02
+      tox_envlist: py310-func-scenario02
       bindep_profile: rabbit kafka amqp1
 
 - job:
-    name: oslo.messaging-tox-py38-func-scenario03
-    parent: openstack-tox-py38
+    name: oslo.messaging-tox-py310-func-scenario03
+    parent: openstack-tox-py310
     vars:
-      tox_envlist: py38-func-scenario03
+      tox_envlist: py310-func-scenario03
       bindep_profile: rabbit amqp1
 
 - job:
-    name: oslo.messaging-tox-py38-func-scenario04
-    parent: openstack-tox-py38
+    name: oslo.messaging-tox-py310-func-scenario04
+    parent: openstack-tox-py310
     vars:
-      tox_envlist: py38-func-scenario04
+      tox_envlist: py310-func-scenario04
       bindep_profile: kafka amqp1
 
 # Begin v3 native jobs
 # See https://docs.openstack.org/devstack/latest/
 
-
 - job:
     name: oslo.messaging-devstack-tempest-full-base
     description: |
@@ -43,14 +42,12 @@
     vars:
       tox_envlist: full
 
-
 - job:
     name: oslo.messaging-src-dsvm-full-rabbit
     description: |
       Run full tempest tests against rabbitmq
     parent: oslo.messaging-devstack-tempest-full-base
 
-
 - job:
     name: oslo.messaging-src-dsvm-full-amqp1-hybrid
     description: |
@@ -67,7 +64,6 @@
       zuul_copy_output:
         '{{ devstack_log_dir }}/qdrouterd.log': logs
 
-
 - job:
     name: oslo.messaging-src-dsvm-full-kafka-hybrid
     description: |
@@ -102,24 +98,23 @@
       - ^(test-|)requirements.txt$
       - ^setup.cfg$
 
-
 - project:
     templates:
       - check-requirements
       - lib-forward-testing-python3
       - openstack-cover-jobs
-      - openstack-python3-zed-jobs
+      - openstack-python3-jobs
       - periodic-stable-jobs
       - publish-openstack-docs-pti
       - release-notes-jobs-python3
     check:
       jobs:
-        - oslo.messaging-tox-py38-func-scenario01
-        - oslo.messaging-tox-py38-func-scenario02:
+        - oslo.messaging-tox-py310-func-scenario01
+        - oslo.messaging-tox-py310-func-scenario02:
             voting: false
-        - oslo.messaging-tox-py38-func-scenario03:
+        - oslo.messaging-tox-py310-func-scenario03:
             voting: false
-        - oslo.messaging-tox-py38-func-scenario04:
+        - oslo.messaging-tox-py310-func-scenario04:
             voting: false
         - oslo.messaging-src-dsvm-full-rabbit
         - oslo.messaging-src-dsvm-full-amqp1-hybrid:
@@ -130,8 +125,7 @@
             voting: false
         - oslo.messaging-grenade-multinode:
             voting: false
-
     gate:
       jobs:
-        - oslo.messaging-tox-py38-func-scenario01
+        - oslo.messaging-tox-py310-func-scenario01
         - oslo.messaging-src-dsvm-full-rabbit
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.messaging-14.3.1/AUTHORS 
new/oslo.messaging-14.5.0/AUTHORS
--- old/oslo.messaging-14.3.1/AUTHORS   2023-06-01 17:07:54.000000000 +0200
+++ new/oslo.messaging-14.5.0/AUTHORS   2023-11-14 11:08:04.000000000 +0100
@@ -98,6 +98,7 @@
 James Page <[email protected]>
 Jamie Lennox <[email protected]>
 Javeme <[email protected]>
+Jay Faulkner <[email protected]>
 Jens Rosenboom <[email protected]>
 Jeremy Hanmer <[email protected]>
 Jeremy Liu <[email protected]>
@@ -160,6 +161,7 @@
 Ruby Loo <[email protected]>
 Russell Bryant <[email protected]>
 Ryan Rossiter <[email protected]>
+Sairam Vengala <[email protected]>
 Sandy Walsh <[email protected]>
 Sean Dague <[email protected]>
 Sean McGinnis <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.messaging-14.3.1/ChangeLog 
new/oslo.messaging-14.5.0/ChangeLog
--- old/oslo.messaging-14.3.1/ChangeLog 2023-06-01 17:07:53.000000000 +0200
+++ new/oslo.messaging-14.5.0/ChangeLog 2023-11-14 11:08:04.000000000 +0100
@@ -1,6 +1,25 @@
 CHANGES
 =======
 
+14.5.0
+------
+
+* Add some logs when sending RPC messages
+* Move integration jobs to Ubuntu 22.04 (Jammy)
+* Imported Translations from Zanata
+* test py311 job
+* Add is\_admin to safe fields list for notifications
+* Update master for stable/2023.2
+
+14.4.0
+------
+
+* Add Python3 antelope unit tests
+* Only allow safe context fields in notifications
+* Set default heartbeat\_rate to 3
+* Imported Translations from Zanata
+* Bump bandit and make oslo.messaging compatible with latest rules
+
 14.3.1
 ------
 
@@ -24,6 +43,7 @@
 
 * Implement get\_rpc\_client function
 * Warn when we force creating a non durable exchange
+* Deprecate the amqp1 driver and Remove qpid functional tests
 * Update master for stable/zed
 
 14.0.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.messaging-14.3.1/PKG-INFO 
new/oslo.messaging-14.5.0/PKG-INFO
--- old/oslo.messaging-14.3.1/PKG-INFO  2023-06-01 17:07:54.359734000 +0200
+++ new/oslo.messaging-14.5.0/PKG-INFO  2023-11-14 11:08:04.516616800 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: oslo.messaging
-Version: 14.3.1
+Version: 14.5.0
 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-14.3.1/bindep.txt 
new/oslo.messaging-14.5.0/bindep.txt
--- old/oslo.messaging-14.3.1/bindep.txt        2023-06-01 17:07:22.000000000 
+0200
+++ new/oslo.messaging-14.5.0/bindep.txt        2023-11-14 11:07:37.000000000 
+0100
@@ -21,22 +21,9 @@
 uuid-dev [platform:dpkg amqp1 test]
 swig [platform:dpkg amqp1 test]
 libsasl2-modules [platform:dpkg amqp1 test]
-openjdk-8-jdk [platform:dpkg amqp1 test]
-
-# AMQP1 TEST rpm
-qpid-dispatch-router [platform:rpm amqp1 test]
-python-qpid-proton [platform:rpm amqp1 test]
-cyrus-sasl-lib [platform:rpm amqp1 test]
-cyrus-sasl-plain [platform:rpm amqp1 test]
-libuuid-devel [platform:rpm amqp1 test]
-swig [platform:rpm amqp1 test]
-java-1.8.0-openjdk [platform:rpm amqp1 test]
+default-jdk [platform:dpkg amqp1 test !platform:debian]
 
 # kafka dpkg
-openjdk-8-jdk [platform:dpkg kafka]
+default-jdk [platform:dpkg kafka]
 librdkafka1 [platform:dpkg kafka]
 librdkafka-dev [platform:dpkg kafka]
-
-# kafka rpm
-java-1.8.0-openjdk [platform:rpm kafka]
-librdkafka [platform:rpm kafka]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.messaging-14.3.1/oslo.messaging.egg-info/PKG-INFO 
new/oslo.messaging-14.5.0/oslo.messaging.egg-info/PKG-INFO
--- old/oslo.messaging-14.3.1/oslo.messaging.egg-info/PKG-INFO  2023-06-01 
17:07:54.000000000 +0200
+++ new/oslo.messaging-14.5.0/oslo.messaging.egg-info/PKG-INFO  2023-11-14 
11:08:04.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: oslo.messaging
-Version: 14.3.1
+Version: 14.5.0
 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-14.3.1/oslo.messaging.egg-info/SOURCES.txt 
new/oslo.messaging-14.5.0/oslo.messaging.egg-info/SOURCES.txt
--- old/oslo.messaging-14.3.1/oslo.messaging.egg-info/SOURCES.txt       
2023-06-01 17:07:54.000000000 +0200
+++ new/oslo.messaging-14.5.0/oslo.messaging.egg-info/SOURCES.txt       
2023-11-14 11:08:04.000000000 +0100
@@ -153,6 +153,7 @@
 releasenotes/notes/connection_ttl-2cf0fe6e1ab8c73c.yaml
 releasenotes/notes/declare_fallback_durable_exchange-0db677de4fdf1e78.yaml
 releasenotes/notes/deprecate-ZeroMQ-driver-a8af25aaba867c5b.yaml
+releasenotes/notes/deprecated-amqp1-driver-4bf57449bc2b7aad.yaml
 releasenotes/notes/disable-mandatory-flag-a6210a534f3853f0.yaml
 
releasenotes/notes/do-not-run-heartbeat-in-pthread-by-default-42e1299f59b841f8.yaml
 releasenotes/notes/drop-python27-support-5ef2f365d8930483.yaml
@@ -162,6 +163,7 @@
 releasenotes/notes/get-rpc-helpers-cls-8911826ac08aef2a.yaml
 releasenotes/notes/get_rpc_transport-4aa3511ad9754a60.yaml
 releasenotes/notes/handle-missing-queue-553a803f94976be7.yaml
+releasenotes/notes/heartbeat-rate-3-7ada9edbccc11a3f.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
@@ -178,6 +180,7 @@
 releasenotes/notes/undeprecate_heartbeat_in_pthread-48e2c1fc008cf208.yaml
 releasenotes/notes/use-extras-for-optional-deps-2a00e8007ef7a629.yaml
 releasenotes/source/2023.1.rst
+releasenotes/source/2023.2.rst
 releasenotes/source/conf.py
 releasenotes/source/index.rst
 releasenotes/source/newton.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.messaging-14.3.1/oslo.messaging.egg-info/pbr.json 
new/oslo.messaging-14.5.0/oslo.messaging.egg-info/pbr.json
--- old/oslo.messaging-14.3.1/oslo.messaging.egg-info/pbr.json  2023-06-01 
17:07:54.000000000 +0200
+++ new/oslo.messaging-14.5.0/oslo.messaging.egg-info/pbr.json  2023-11-14 
11:08:04.000000000 +0100
@@ -1 +1 @@
-{"git_version": "0602d1a1", "is_release": true}
\ No newline at end of file
+{"git_version": "3438726d", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.messaging-14.3.1/oslo.messaging.egg-info/requires.txt 
new/oslo.messaging-14.5.0/oslo.messaging.egg-info/requires.txt
--- old/oslo.messaging-14.3.1/oslo.messaging.egg-info/requires.txt      
2023-06-01 17:07:54.000000000 +0200
+++ new/oslo.messaging-14.5.0/oslo.messaging.egg-info/requires.txt      
2023-11-14 11:08:04.000000000 +0100
@@ -22,7 +22,7 @@
 confluent-kafka>=1.3.0
 
 [test]
-bandit<1.7.0,>=1.6.0
+bandit<1.8.0,>=1.7.0
 confluent-kafka>=1.3.0
 coverage!=4.4,>=4.0
 eventlet>=0.23.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.messaging-14.3.1/oslo_messaging/_drivers/impl_amqp1.py 
new/oslo.messaging-14.5.0/oslo_messaging/_drivers/impl_amqp1.py
--- old/oslo.messaging-14.3.1/oslo_messaging/_drivers/impl_amqp1.py     
2023-06-01 17:07:22.000000000 +0200
+++ new/oslo.messaging-14.5.0/oslo_messaging/_drivers/impl_amqp1.py     
2023-11-14 11:07:37.000000000 +0100
@@ -25,7 +25,9 @@
 import os
 import threading
 import uuid
+import warnings
 
+from debtcollector import removals
 from oslo_config import cfg
 from oslo_messaging.target import Target
 from oslo_serialization import jsonutils
@@ -38,6 +40,7 @@
 from oslo_messaging._drivers import common
 
 
+warnings.simplefilter('always')
 proton = importutils.try_import('proton')
 controller = importutils.try_import(
     'oslo_messaging._drivers.amqp1_driver.controller'
@@ -103,6 +106,7 @@
     return (msg, data.get("context"), data.get("call_monitor_timeout"))
 
 
[email protected]_class("ProtonIncomingMessage")
 class ProtonIncomingMessage(base.RpcIncomingMessage):
     def __init__(self, listener, message, disposition):
         request, ctxt, client_timeout = unmarshal_request(message)
@@ -165,6 +169,7 @@
         self.listener.driver._ctrl.add_task(task)
 
 
[email protected]_class("Queue")
 class Queue(object):
     def __init__(self):
         self._queue = collections.deque()
@@ -194,6 +199,7 @@
             self._pop_wake_condition.notify_all()
 
 
[email protected]_class("ProtonListener")
 class ProtonListener(base.PollStyleListener):
     def __init__(self, driver):
         super(ProtonListener, self).__init__(driver.prefetch_size)
@@ -214,6 +220,7 @@
                                      qentry['disposition'])
 
 
[email protected]_class("ProtonDriver")
 class ProtonDriver(base.BaseDriver):
     """AMQP 1.0 Driver
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.messaging-14.3.1/oslo_messaging/_drivers/impl_rabbit.py 
new/oslo.messaging-14.5.0/oslo_messaging/_drivers/impl_rabbit.py
--- old/oslo.messaging-14.3.1/oslo_messaging/_drivers/impl_rabbit.py    
2023-06-01 17:07:22.000000000 +0200
+++ new/oslo.messaging-14.5.0/oslo_messaging/_drivers/impl_rabbit.py    
2023-11-14 11:07:37.000000000 +0100
@@ -211,7 +211,7 @@
                "considered down if heartbeat's keep-alive fails "
                "(0 disables heartbeat)."),
     cfg.IntOpt('heartbeat_rate',
-               default=2,
+               default=3,
                help='How often times during the heartbeat_timeout_threshold '
                'we check the heartbeat.'),
     cfg.BoolOpt('direct_mandatory_flag',
@@ -1515,6 +1515,8 @@
                                          passive=True)
         options = oslo_messaging.TransportOptions(
             at_least_once=self.direct_mandatory_flag)
+
+        LOG.debug('Sending direct to %s', msg_id)
         self._ensure_publishing(self._publish_and_raises_on_missing_exchange,
                                 exchange, msg, routing_key=msg_id,
                                 transport_options=options)
@@ -1528,6 +1530,8 @@
             durable=self.durable,
             auto_delete=self.amqp_auto_delete)
 
+        LOG.debug('Sending topic to %s with routing_key %s', exchange_name,
+                  topic)
         self._ensure_publishing(self._publish, exchange, msg,
                                 routing_key=topic, timeout=timeout,
                                 retry=retry,
@@ -1540,6 +1544,7 @@
                                          durable=False,
                                          auto_delete=True)
 
+        LOG.debug('Sending fanout to %s_fanout', topic)
         self._ensure_publishing(self._publish, exchange, msg, retry=retry)
 
     def notify_send(self, exchange_name, topic, msg, retry=None, **kwargs):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.messaging-14.3.1/oslo_messaging/_metrics/client.py 
new/oslo.messaging-14.5.0/oslo_messaging/_metrics/client.py
--- old/oslo.messaging-14.3.1/oslo_messaging/_metrics/client.py 2023-06-01 
17:07:22.000000000 +0200
+++ new/oslo.messaging-14.5.0/oslo_messaging/_metrics/client.py 2023-11-14 
11:07:37.000000000 +0100
@@ -39,13 +39,14 @@
     # 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',
+               default='/var/tmp/metrics_collector.sock',  # nosec
                help='Unix domain socket file to be used'
                     ' to send rpc related metrics'),
     cfg.StrOpt('metrics_process_name',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.messaging-14.3.1/oslo_messaging/notify/notifier.py 
new/oslo.messaging-14.5.0/oslo_messaging/notify/notifier.py
--- old/oslo.messaging-14.3.1/oslo_messaging/notify/notifier.py 2023-06-01 
17:07:22.000000000 +0200
+++ new/oslo.messaging-14.5.0/oslo_messaging/notify/notifier.py 2023-11-14 
11:07:37.000000000 +0100
@@ -171,6 +171,51 @@
         transport_cls=msg_transport.NotificationTransport)
 
 
+def _sanitize_context(ctxt):
+    # NOTE(JayF): The below values are in the same order they are in
+    #             oslo_context.context.RequestContext.__init__()
+    safe_keys = (
+        'user_id',
+        'project_id',
+        'domain_id',
+        'user_domain_id',
+        'project_domain_id',
+        # NOTE(JayF): Without is_admin; heat will make a roundtrip to policy
+        #             to try to set it to a sane value when instantiating the
+        #             replacement context. Instead, just pass it on.
+        'is_admin',
+        'request_id',
+        'roles',
+        'user_name',
+        'project_name',
+        'domain_name',
+        'user_domain_name',
+        'project_domain_name',
+        'service_user_id',
+        'service_user_domain_id',
+        'service_user_domain_name',
+        'service_project_id',
+        'service_project_name',
+        'service_project_domain_id',
+        'service_project_domain_name',
+        'service_roles',
+        'global_request_id',
+        'system_scope',
+        # NOTE(JayF) These have been renamed but may show up in notifications
+        'user',
+        'domain',
+        'user_domain',
+        'project_domain',
+    )
+    ctxt_dict = ctxt if isinstance(ctxt, dict) else ctxt.to_dict()
+    safe_dict = {k: v for k, v in ctxt_dict.items()
+                 if k in safe_keys}
+    if ctxt_dict is ctxt:
+        return safe_dict
+    else:
+        return ctxt.__class__.from_dict(safe_dict)
+
+
 class Notifier(object):
 
     """Send notification messages.
@@ -296,7 +341,12 @@
     def _notify(self, ctxt, event_type, payload, priority, publisher_id=None,
                 retry=None):
         payload = self._serializer.serialize_entity(ctxt, payload)
-        ctxt = self._serializer.serialize_context(ctxt)
+
+        # NOTE(JayF): We must remove secure information from notification
+        #             payloads, otherwise we risk sending sensitive creds
+        #             to a notification bus.
+        safe_ctxt = _sanitize_context(ctxt)
+        ctxt = self._serializer.serialize_context(safe_ctxt)
 
         msg = dict(message_id=str(uuid.uuid4()),
                    publisher_id=publisher_id or self.publisher_id,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.messaging-14.3.1/oslo_messaging/tests/functional/test_functional.py 
new/oslo.messaging-14.5.0/oslo_messaging/tests/functional/test_functional.py
--- 
old/oslo.messaging-14.3.1/oslo_messaging/tests/functional/test_functional.py    
    2023-06-01 17:07:22.000000000 +0200
+++ 
new/oslo.messaging-14.5.0/oslo_messaging/tests/functional/test_functional.py    
    2023-11-14 11:07:37.000000000 +0100
@@ -590,7 +590,7 @@
         client = group.client(1)
         client.add(increment=1)
         time.sleep(1)
-        r = requests.get('http://localhost:3000')
+        r = requests.get('http://localhost:3000', timeout=10)
         for line in r.text.split('\n'):
             if 'client_invocation_start_total{' in line:
                 self.assertEqual('1.0', line[-3:])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.messaging-14.3.1/oslo_messaging/tests/notify/test_listener.py 
new/oslo.messaging-14.5.0/oslo_messaging/tests/notify/test_listener.py
--- old/oslo.messaging-14.3.1/oslo_messaging/tests/notify/test_listener.py      
2023-06-01 17:07:22.000000000 +0200
+++ new/oslo.messaging-14.5.0/oslo_messaging/tests/notify/test_listener.py      
2023-11-14 11:07:37.000000000 +0100
@@ -286,18 +286,18 @@
         listener_thread = self._setup_listener(transport, [endpoint],
                                                targets=targets)
         notifier = self._setup_notifier(transport, topics=['topic1'])
-        notifier.info({'ctxt': '1'}, 'an_event.start1', 'test')
+        notifier.info({'user_name': 'bob'}, 'an_event.start1', 'test')
         notifier = self._setup_notifier(transport, topics=['topic2'])
-        notifier.info({'ctxt': '2'}, 'an_event.start2', 'test')
+        notifier.info({'user_name': 'bob2'}, 'an_event.start2', 'test')
 
         self.wait_for_messages(2)
         self.assertFalse(listener_thread.stop())
 
         endpoint.info.assert_has_calls([
-            mock.call({'ctxt': '1'}, 'testpublisher',
+            mock.call({'user_name': 'bob'}, 'testpublisher',
                       'an_event.start1', 'test',
                       {'timestamp': mock.ANY, 'message_id': mock.ANY}),
-            mock.call({'ctxt': '2'}, 'testpublisher',
+            mock.call({'user_name': 'bob2'}, 'testpublisher',
                       'an_event.start2', 'test',
                       {'timestamp': mock.ANY, 'message_id': mock.ANY})],
             any_order=True)
@@ -326,23 +326,23 @@
             transport._send_notification = mock.MagicMock(
                 side_effect=side_effect)
 
-        notifier.info({'ctxt': '0'},
+        notifier.info({'user_name': 'bob0'},
                       'an_event.start', 'test message default exchange')
         mock_notifier_exchange('exchange1')
-        notifier.info({'ctxt': '1'},
+        notifier.info({'user_name': 'bob1'},
                       'an_event.start', 'test message exchange1')
         mock_notifier_exchange('exchange2')
-        notifier.info({'ctxt': '2'},
+        notifier.info({'user_name': 'bob2'},
                       'an_event.start', 'test message exchange2')
 
         self.wait_for_messages(2)
         self.assertFalse(listener_thread.stop())
 
         endpoint.info.assert_has_calls([
-            mock.call({'ctxt': '1'}, 'testpublisher', 'an_event.start',
+            mock.call({'user_name': 'bob1'}, 'testpublisher', 'an_event.start',
                       'test message exchange1',
                       {'timestamp': mock.ANY, 'message_id': mock.ANY}),
-            mock.call({'ctxt': '2'}, 'testpublisher', 'an_event.start',
+            mock.call({'user_name': 'bob2'}, 'testpublisher', 'an_event.start',
                       'test message exchange2',
                       {'timestamp': mock.ANY, 'message_id': mock.ANY})],
             any_order=True)
@@ -414,8 +414,8 @@
                                                 targets=targets, pool="pool2")
 
         notifier = self._setup_notifier(transport, topics=["topic"])
-        notifier.info({'ctxt': '0'}, 'an_event.start', 'test message0')
-        notifier.info({'ctxt': '1'}, 'an_event.start', 'test message1')
+        notifier.info({'user_name': 'bob0'}, 'an_event.start', 'test message0')
+        notifier.info({'user_name': 'bob1'}, 'an_event.start', 'test message1')
 
         self.wait_for_messages(2, "pool1")
         self.wait_for_messages(2, "pool2")
@@ -423,7 +423,7 @@
         self.assertFalse(listener1_thread.stop())
 
         def mocked_endpoint_call(i):
-            return mock.call({'ctxt': '%d' % i}, 'testpublisher',
+            return mock.call({'user_name': 'bob%d' % i}, 'testpublisher',
                              'an_event.start', 'test message%d' % i,
                              {'timestamp': mock.ANY, 'message_id': mock.ANY})
 
@@ -452,14 +452,14 @@
                                                 targets=targets, pool="pool2")
 
         def mocked_endpoint_call(i):
-            return mock.call({'ctxt': '%d' % i}, 'testpublisher',
+            return mock.call({'user_name': 'bob%d' % i}, 'testpublisher',
                              'an_event.start', 'test message%d' % i,
                              {'timestamp': mock.ANY, 'message_id': mock.ANY})
 
         notifier = self._setup_notifier(transport, topics=["topic"])
         mocked_endpoint1_calls = []
         for i in range(0, 25):
-            notifier.info({'ctxt': '%d' % i}, 'an_event.start',
+            notifier.info({'user_name': 'bob%d' % i}, 'an_event.start',
                           'test message%d' % i)
             mocked_endpoint1_calls.append(mocked_endpoint_call(i))
 
@@ -467,7 +467,7 @@
         listener2_thread.stop()
 
         for i in range(0, 25):
-            notifier.info({'ctxt': '%d' % i}, 'an_event.start',
+            notifier.info({'user_name': 'bob%d' % i}, 'an_event.start',
                           'test message%d' % i)
             mocked_endpoint1_calls.append(mocked_endpoint_call(i))
 
@@ -476,7 +476,7 @@
         listener3_thread.stop()
 
         for i in range(0, 25):
-            notifier.info({'ctxt': '%d' % i}, 'an_event.start',
+            notifier.info({'user_name': 'bob%d' % i}, 'an_event.start',
                           'test message%d' % i)
             mocked_endpoint1_calls.append(mocked_endpoint_call(i))
 
@@ -484,7 +484,7 @@
         listener3_thread.start()
 
         for i in range(0, 25):
-            notifier.info({'ctxt': '%d' % i}, 'an_event.start',
+            notifier.info({'user_name': 'bob%d' % i}, 'an_event.start',
                           'test message%d' % i)
             mocked_endpoint1_calls.append(mocked_endpoint_call(i))
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.messaging-14.3.1/oslo_messaging/tests/notify/test_notifier.py 
new/oslo.messaging-14.5.0/oslo_messaging/tests/notify/test_notifier.py
--- old/oslo.messaging-14.3.1/oslo_messaging/tests/notify/test_notifier.py      
2023-06-01 17:07:22.000000000 +0200
+++ new/oslo.messaging-14.5.0/oslo_messaging/tests/notify/test_notifier.py      
2023-11-14 11:07:37.000000000 +0100
@@ -122,7 +122,7 @@
     ]
 
     _context = [
-        ('ctxt', dict(ctxt={'user': 'bob'})),
+        ('ctxt', dict(ctxt={'user_name': 'bob'})),
     ]
 
     _retry = [
@@ -229,6 +229,157 @@
 TestMessagingNotifier.generate_scenarios()
 
 
+class TestMessagingNotifierContextFiltering(test_utils.BaseTestCase):
+
+    _v1 = [
+        ('v1', dict(v1=True)),
+        ('not_v1', dict(v1=False)),
+    ]
+
+    _v2 = [
+        ('v2', dict(v2=True)),
+        ('not_v2', dict(v2=False)),
+    ]
+
+    _publisher_id = [
+        ('ctor_pub_id', dict(ctor_pub_id='test',
+                             expected_pub_id='test')),
+        ('prep_pub_id', dict(prep_pub_id='test.localhost',
+                             expected_pub_id='test.localhost')),
+        ('override', dict(ctor_pub_id='test',
+                          prep_pub_id='test.localhost',
+                          expected_pub_id='test.localhost')),
+    ]
+
+    _topics = [
+        ('no_topics', dict(topics=[])),
+        ('single_topic', dict(topics=['notifications'])),
+        ('multiple_topic2', dict(topics=['foo', 'bar'])),
+    ]
+
+    _priority = [
+        ('audit', dict(priority='audit')),
+        ('debug', dict(priority='debug')),
+        ('info', dict(priority='info')),
+        ('warn', dict(priority='warn')),
+        ('error', dict(priority='error')),
+        ('sample', dict(priority='sample')),
+        ('critical', dict(priority='critical')),
+    ]
+
+    _payload = [
+        ('payload', dict(payload={'foo': 'bar'})),
+    ]
+
+    _context = [
+        ('ctxt', dict(ctxt={'user_name': 'bob'})),
+    ]
+
+    _retry = [
+        ('unconfigured', dict()),
+        ('None', dict(retry=None)),
+        ('0', dict(retry=0)),
+        ('5', dict(retry=5)),
+    ]
+
+    @classmethod
+    def generate_scenarios(cls):
+        cls.scenarios = testscenarios.multiply_scenarios(cls._v1,
+                                                         cls._v2,
+                                                         cls._publisher_id,
+                                                         cls._topics,
+                                                         cls._priority,
+                                                         cls._payload,
+                                                         cls._retry)
+
+    def setUp(self):
+        super(TestMessagingNotifierContextFiltering, self).setUp()
+
+        self.logger = self.useFixture(_ReRaiseLoggedExceptionsFixture()).logger
+        self.useFixture(fixtures.MockPatchObject(
+            messaging, 'LOG', self.logger))
+        self.useFixture(fixtures.MockPatchObject(
+            msg_notifier, '_LOG', self.logger))
+
+    @mock.patch('oslo_utils.timeutils.utcnow')
+    def test_notifier(self, mock_utcnow):
+        ctxt = {'user_name': 'bob', 'secret_data': 'redact_me'}
+        safe_ctxt = {'user_name': 'bob'}
+        drivers = []
+        if self.v1:
+            drivers.append('messaging')
+        if self.v2:
+            drivers.append('messagingv2')
+
+        self.config(driver=drivers,
+                    topics=self.topics,
+                    group='oslo_messaging_notifications')
+
+        transport = oslo_messaging.get_notification_transport(self.conf,
+                                                              url='fake:')
+
+        if hasattr(self, 'ctor_pub_id'):
+            notifier = oslo_messaging.Notifier(transport,
+                                               publisher_id=self.ctor_pub_id)
+        else:
+            notifier = oslo_messaging.Notifier(transport)
+
+        prepare_kwds = {}
+        if hasattr(self, 'retry'):
+            prepare_kwds['retry'] = self.retry
+        if hasattr(self, 'prep_pub_id'):
+            prepare_kwds['publisher_id'] = self.prep_pub_id
+        if prepare_kwds:
+            notifier = notifier.prepare(**prepare_kwds)
+
+        transport._send_notification = mock.Mock()
+
+        message_id = uuid.uuid4()
+        uuid.uuid4 = mock.Mock(return_value=message_id)
+
+        mock_utcnow.return_value = datetime.datetime.utcnow()
+
+        message = {
+            'message_id': str(message_id),
+            'publisher_id': self.expected_pub_id,
+            'event_type': 'test.notify',
+            'priority': self.priority.upper(),
+            'payload': self.payload,
+            'timestamp': str(timeutils.utcnow()),
+        }
+
+        sends = []
+        if self.v1:
+            sends.append(dict(version=1.0))
+        if self.v2:
+            sends.append(dict(version=2.0))
+
+        calls = []
+        for send_kwargs in sends:
+            for topic in self.topics:
+                if hasattr(self, 'retry'):
+                    send_kwargs['retry'] = self.retry
+                else:
+                    send_kwargs['retry'] = -1
+                target = oslo_messaging.Target(topic='%s.%s' % (topic,
+                                                                self.priority))
+                calls.append(mock.call(target,
+                                       safe_ctxt,
+                                       message,
+                                       **send_kwargs))
+
+        method = getattr(notifier, self.priority)
+        method(ctxt, 'test.notify', self.payload)
+
+        uuid.uuid4.assert_called_once_with()
+        transport._send_notification.assert_has_calls(calls, any_order=True)
+
+        self.assertTrue(notifier.is_enabled())
+
+
+TestMessagingNotifierContextFiltering.generate_scenarios()
+
+
 class TestMessagingNotifierRetry(test_utils.BaseTestCase):
 
     class TestingException(BaseException):
@@ -328,12 +479,12 @@
         mock_utcnow.return_value = datetime.datetime.utcnow()
 
         serializer.serialize_context = mock.Mock()
-        serializer.serialize_context.return_value = dict(user='alice')
+        serializer.serialize_context.return_value = dict(user_name='alice')
 
         serializer.serialize_entity = mock.Mock()
         serializer.serialize_entity.return_value = 'sbar'
 
-        notifier.info(dict(user='bob'), 'test.notify', 'bar')
+        notifier.info(dict(user_name='bob'), 'test.notify', 'bar')
 
         message = {
             'message_id': str(message_id),
@@ -344,13 +495,14 @@
             'timestamp': str(timeutils.utcnow()),
         }
 
-        self.assertEqual([(dict(user='alice'), message, 'INFO', -1)],
+        self.assertEqual([(dict(user_name='alice'), message, 'INFO', -1)],
                          _impl_test.NOTIFICATIONS)
 
         uuid.uuid4.assert_called_once_with()
-        serializer.serialize_context.assert_called_once_with(dict(user='bob'))
-        serializer.serialize_entity.assert_called_once_with(dict(user='bob'),
-                                                            'bar')
+        serializer.serialize_context.assert_called_once_with(
+            dict(user_name='bob'))
+        serializer.serialize_entity.assert_called_once_with(
+            dict(user_name='bob'), 'bar')
 
 
 class TestNotifierTopics(test_utils.BaseTestCase):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.messaging-14.3.1/releasenotes/notes/deprecated-amqp1-driver-4bf57449bc2b7aad.yaml
 
new/oslo.messaging-14.5.0/releasenotes/notes/deprecated-amqp1-driver-4bf57449bc2b7aad.yaml
--- 
old/oslo.messaging-14.3.1/releasenotes/notes/deprecated-amqp1-driver-4bf57449bc2b7aad.yaml
  1970-01-01 01:00:00.000000000 +0100
+++ 
new/oslo.messaging-14.5.0/releasenotes/notes/deprecated-amqp1-driver-4bf57449bc2b7aad.yaml
  2023-11-14 11:07:37.000000000 +0100
@@ -0,0 +1,7 @@
+---
+deprecations:
+  - |
+    The AMQP1 driver is now deprecated. Its related functional tests are also
+    disabled. Neither debian nor ubuntu in the latest releases have any binary
+    built for qpid server, not even 3rd party. Only qpid proton, the client
+    lib, is available.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.messaging-14.3.1/releasenotes/notes/heartbeat-rate-3-7ada9edbccc11a3f.yaml
 
new/oslo.messaging-14.5.0/releasenotes/notes/heartbeat-rate-3-7ada9edbccc11a3f.yaml
--- 
old/oslo.messaging-14.3.1/releasenotes/notes/heartbeat-rate-3-7ada9edbccc11a3f.yaml
 1970-01-01 01:00:00.000000000 +0100
+++ 
new/oslo.messaging-14.5.0/releasenotes/notes/heartbeat-rate-3-7ada9edbccc11a3f.yaml
 2023-11-14 11:07:37.000000000 +0100
@@ -0,0 +1,5 @@
+---
+fixes:
+  - |
+    Change heartbeat_rate default from 2 to 3 in order to send AMQP heartbeat
+    frames at correct interval
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.messaging-14.3.1/releasenotes/source/2023.2.rst 
new/oslo.messaging-14.5.0/releasenotes/source/2023.2.rst
--- old/oslo.messaging-14.3.1/releasenotes/source/2023.2.rst    1970-01-01 
01:00:00.000000000 +0100
+++ new/oslo.messaging-14.5.0/releasenotes/source/2023.2.rst    2023-11-14 
11:07:37.000000000 +0100
@@ -0,0 +1,6 @@
+===========================
+2023.2 Series Release Notes
+===========================
+
+.. release-notes::
+   :branch: stable/2023.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.messaging-14.3.1/releasenotes/source/index.rst 
new/oslo.messaging-14.5.0/releasenotes/source/index.rst
--- old/oslo.messaging-14.3.1/releasenotes/source/index.rst     2023-06-01 
17:07:22.000000000 +0200
+++ new/oslo.messaging-14.5.0/releasenotes/source/index.rst     2023-11-14 
11:07:37.000000000 +0100
@@ -6,6 +6,7 @@
    :maxdepth: 1
 
    unreleased
+   2023.2
    2023.1
    zed
    yoga
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.messaging-14.3.1/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
 
new/oslo.messaging-14.5.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
--- 
old/oslo.messaging-14.3.1/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
      2023-06-01 17:07:22.000000000 +0200
+++ 
new/oslo.messaging-14.5.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
      2023-11-14 11:07:37.000000000 +0100
@@ -2,15 +2,16 @@
 # Andi Chandler <[email protected]>, 2017. #zanata
 # Andi Chandler <[email protected]>, 2018. #zanata
 # Andi Chandler <[email protected]>, 2020. #zanata
+# Andi Chandler <[email protected]>, 2023. #zanata
 msgid ""
 msgstr ""
 "Project-Id-Version: oslo.messaging\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-04-15 22:07+0000\n"
+"POT-Creation-Date: 2023-09-29 10:37+0000\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"PO-Revision-Date: 2020-04-16 12:41+0000\n"
+"PO-Revision-Date: 2023-09-21 01:02+0000\n"
 "Last-Translator: Andi Chandler <[email protected]>\n"
 "Language-Team: English (United Kingdom)\n"
 "Language: en_GB\n"
@@ -42,12 +43,99 @@
 msgid "*ssl_client_key_password* (default='')"
 msgstr "*ssl_client_key_password* (default='')"
 
+msgid "10.2.4"
+msgstr "10.2.4"
+
 msgid "11.0.0"
 msgstr "11.0.0"
 
 msgid "12.0.0"
 msgstr "12.0.0"
 
+msgid "12.1.4"
+msgstr "12.1.4"
+
+msgid "12.1.6"
+msgstr "12.1.6"
+
+msgid "12.11.0"
+msgstr "12.11.0"
+
+msgid "12.12.0"
+msgstr "12.12.0"
+
+msgid "12.13.0"
+msgstr "12.13.0"
+
+msgid "12.13.1"
+msgstr "12.13.1"
+
+msgid "12.14.0"
+msgstr "12.14.0"
+
+msgid "12.3.0"
+msgstr "12.3.0"
+
+msgid "12.4.0"
+msgstr "12.4.0"
+
+msgid "12.5.2"
+msgstr "12.5.2"
+
+msgid "12.6.0"
+msgstr "12.6.0"
+
+msgid "12.7.0"
+msgstr "12.7.0"
+
+msgid "12.7.1"
+msgstr "12.7.1"
+
+msgid "12.7.3"
+msgstr "12.7.3"
+
+msgid "12.9.0"
+msgstr "12.9.0"
+
+msgid "12.9.3"
+msgstr "12.9.3"
+
+msgid "12.9.4-2"
+msgstr "12.9.4-2"
+
+msgid "13.0.0"
+msgstr "13.0.0"
+
+msgid "14.0.0"
+msgstr "14.0.0"
+
+msgid "14.0.1"
+msgstr "14.0.1"
+
+msgid "14.1.0"
+msgstr "14.1.0"
+
+msgid "14.2.0"
+msgstr "14.2.0"
+
+msgid "14.2.1"
+msgstr "14.2.1"
+
+msgid "14.3.0"
+msgstr "14.3.0"
+
+msgid "14.3.1"
+msgstr "14.3.1"
+
+msgid "14.4.0"
+msgstr "14.4.0"
+
+msgid "2023.1 Series Release Notes"
+msgstr "2023.1 Series Release Notes"
+
+msgid "2023.2 Series Release Notes"
+msgstr "2023.2 Series Release Notes"
+
 msgid "5.17.3"
 msgstr "5.17.3"
 
@@ -108,6 +196,9 @@
 msgid "9.5.0"
 msgstr "9.5.0"
 
+msgid "9.5.2-4"
+msgstr "9.5.2-4"
+
 msgid ""
 "A bug in the ``amqp`` python library can cause the connection to the "
 "RabbitMQ broker to hang when using SSL/TLS. This results in frequent errors "
@@ -118,12 +209,81 @@
 "such as this::"
 
 msgid ""
+"Add a new option `enable_cancel_on_failover` for rabbitmq driver which when "
+"enabled, will cancel consumers when queue appears to be down."
+msgstr ""
+"Add a new option `enable_cancel_on_failover` for RabbitMQ driver which when "
+"enabled, will cancel consumers when the queue appears to be down."
+
+msgid ""
 "Add get_rpc_transport call to make the API clear for the separation of RPC "
 "and Notification messaging backends."
 msgstr ""
 "Add get_rpc_transport call to make the API clear for the separation of RPC "
 "and Notification messaging backends."
 
+msgid ""
+"Add quorum configuration x-max-in-memory-length, x-max-in-memory-bytes, x-"
+"delivery-limit which control the quorum queue memory usage and handle the "
+"message poisoning problem"
+msgstr ""
+"Add quorum configuration x-max-in-memory-length, x-max-in-memory-bytes, x-"
+"delivery-limit which control the quorum queue memory usage and handle the "
+"message poisoning problem"
+
+msgid ""
+"Added new ``get_rpc_client`` function to instantiate the RPCClient class"
+msgstr ""
+"Added new ``get_rpc_client`` function to instantiate the RPCClient class"
+
+msgid ""
+"Adding a new option, ``[oslo_messaging_rabbit] ssl_enforce_fips_mode``, to "
+"the rabbitmq driver to enforce the OpenSSL FIPS mode if supported by the "
+"version of Python."
+msgstr ""
+"Adding a new option, ``[oslo_messaging_rabbit] ssl_enforce_fips_mode``, to "
+"the rabbitmq driver to enforce the OpenSSL FIPS mode if supported by the "
+"version of Python."
+
+msgid ""
+"Adding retry strategy based on the mandatory flag. Missing exchanges and "
+"queues are now identified separately for logging purposes."
+msgstr ""
+"Adding retry strategy based on the mandatory flag. Missing exchanges and "
+"queues are now identified separately for logging purposes."
+
+msgid ""
+"Adding support for quorum queues. Quorum queues are enabled if the "
+"``rabbit_quorum_queue`` parameter is sets (``x-queue-type: quorum``). "
+"Setting x-queue-type to quorum means that replicated FIFO queue based on the "
+"Raft consensus algorithm will be used. It is available as of RabbitMQ 3.8.0. "
+"The quorum queues are durable by default (``amqp_durable_queues``) will be "
+"ignored. when enabled the HA queues (``rabbit_ha_queues``) aka mirrored "
+"queues should be disabled since the queue can't be both types at the same "
+"time"
+msgstr ""
+"Adding support for quorum queues. Quorum queues are enabled if the "
+"``rabbit_quorum_queue`` parameter is sets (``x-queue-type: quorum``). "
+"Setting x-queue-type to quorum means that replicated FIFO queue based on the "
+"Raft consensus algorithm will be used. It is available as of RabbitMQ 3.8.0. "
+"The quorum queues are durable by default (``amqp_durable_queues``) will be "
+"ignored. when enabled the HA queues (``rabbit_ha_queues``) aka mirrored "
+"queues should be disabled since the queue can't be both types at the same "
+"time"
+
+msgid ""
+"As a fix for `bug 1917645 <https://launchpad.net/bugs/1917645>`_ the rabbit "
+"backend is changed to use the ``[oslo_messaging_notifications]retry`` "
+"parameter when driver tries to connect to the message bus during "
+"notification sending. Before this fix the rabbit backend retried the "
+"connection forever blocking the caller thread."
+msgstr ""
+"As a fix for `bug 1917645 <https://launchpad.net/bugs/1917645>`_ the rabbit "
+"backend is changed to use the ``[oslo_messaging_notifications]retry`` "
+"parameter when the driver tries to connect to the message bus during "
+"notification sending. Before this fix the rabbit backend retried the "
+"connection forever blocking the caller thread."
+
 msgid "Bug Fixes"
 msgstr "Bug Fixes"
 
@@ -155,13 +315,45 @@
 "get_notification_transport to make the API usage clear for the separation of "
 "RPC and Notification messaging backends."
 
+msgid ""
+"Deprecating the ``direct_mandatory_flag``. It will not be possible to "
+"deactivate this functionality anymore."
+msgstr ""
+"Deprecating the ``direct_mandatory_flag``. It will not be possible to "
+"deactivate this functionality anymore."
+
 msgid "Deprecation Notes"
 msgstr "Deprecation Notes"
 
+msgid ""
+"Fixed typo in variable names ``rabbit_quorum_max_memory_length`` and "
+"``rabbit_quorum_max_memory_bytes``. Please make changes in your config files "
+"to correspond correct variables."
+msgstr ""
+"Fixed typo in variable names ``rabbit_quorum_max_memory_length`` and "
+"``rabbit_quorum_max_memory_bytes``. Please make changes in your config files "
+"to correspond correct variables."
+
+msgid ""
+"Force creating non durable control exchange when a precondition failed "
+"related to config that differ occuring."
+msgstr ""
+"Force creating non-durable control exchange when a precondition failed "
+"related to config that differs occurring."
+
 msgid "Idle connections in the pool will be expired and closed."
 msgstr "Idle connections in the pool will be expired and closed."
 
 msgid ""
+"If kombu_reconnect_delay is specified in the [oslo_messaging_rabbit] "
+"section, ensure that it is less than 5.0, the value of "
+"ACK_REQUEUE_EVERY_SECONDS_MAX"
+msgstr ""
+"If kombu_reconnect_delay is specified in the [oslo_messaging_rabbit] "
+"section, ensure that it is less than 5.0, the value of "
+"ACK_REQUEUE_EVERY_SECONDS_MAX"
+
+msgid ""
 "In combination with amqp<=2.4.0, ``oslo.messaging`` was unreliable when "
 "configured with TLS (as is generally recommended). Users would see frequent "
 "errors such as this::"
@@ -171,6 +363,25 @@
 "errors such as this::"
 
 msgid ""
+"Increased ACK_REQUEUE_EVERY_SECONDS_MAX to resolve issues with rabbitmq HA "
+"failover."
+msgstr ""
+"Increased ACK_REQUEUE_EVERY_SECONDS_MAX to resolve issues with RabbitMQ HA "
+"failover."
+
+msgid ""
+"Instantiating the RPCClient class directly is deprecated in favor of using "
+"the new ``get_rpc_client`` function to expose a more common API similar to "
+"existing functions such as ``get_rpc_server`` and ``get_rpc_transport``"
+msgstr ""
+"Instantiating the RPCClient class directly is deprecated in favour of using "
+"the new ``get_rpc_client`` function to expose a more common API similar to "
+"existing functions such as ``get_rpc_server`` and ``get_rpc_transport``"
+
+msgid "Introduce support for sending rpc client metrics to oslo.metrics."
+msgstr "Introduce support for sending RPC client metrics to oslo.metrics."
+
+msgid ""
 "It is recommended that deployments using SSL/TLS upgrade the amqp library to "
 "v2.4.1 or later."
 msgstr ""
@@ -267,6 +478,15 @@
 "expire."
 
 msgid ""
+"RPC dispatcher can have an extra endpoint named ping. This endpoint can be "
+"enabled thanks to a specific configuration parameter: [DEFAULT] "
+"rpc_ping_enabled=true  # default is false"
+msgstr ""
+"RPC dispatcher can have an extra endpoint named ping. This endpoint can be "
+"enabled thanks to a specific configuration parameter: [DEFAULT] "
+"rpc_ping_enabled=true  # default is false"
+
+msgid ""
 "RPCClient now supports RPC call monitoring for detecting the loss of a "
 "server during an RPC call."
 msgstr ""
@@ -292,6 +512,9 @@
 msgid "SSL support for oslo_messaging's kafka driver"
 msgstr "SSL support for oslo_messaging's Kafka driver"
 
+msgid "Security Issues"
+msgstr "Security Issues"
+
 msgid "Stein Series Release Notes"
 msgstr "Stein Series Release Notes"
 
@@ -321,6 +544,17 @@
 "section."
 
 msgid ""
+"The AMQP1 driver is now deprecated. Its related functional tests are also "
+"disabled. Neither debian nor ubuntu in the latest releases have any binary "
+"built for qpid server, not even 3rd party. Only qpid proton, the client lib, "
+"is available."
+msgstr ""
+"The AMQP1 driver is now deprecated. Its related functional tests are also "
+"disabled. Neither Debian nor Ubuntu in the latest releases have any binary "
+"built for qpid server, not even 3rd party. Only qpid proton, the client lib, "
+"is available."
+
+msgid ""
 "The Kafa driver has removed the configuration options of kafka_default_host "
 "and kafka_default_port from the [oslo_messaging_kafka] section."
 msgstr ""
@@ -345,6 +579,35 @@
 msgstr "The ZMQ-based driver for RPC communications has been removed"
 
 msgid ""
+"The ``[oslo_messaging_rabbit] heartbeat_in_pthread`` config option defaults "
+"to ``False`` again. For wsgi applications it is recommended to set this "
+"value to ``True`` but enabling it for non-wsgi services may break such "
+"service. Please check https://bugs.launchpad.net/oslo.messaging/+bug/1934937 "
+"for more details."
+msgstr ""
+"The ``[oslo_messaging_rabbit] heartbeat_in_pthread`` config option defaults "
+"to ``False`` again. For wsgi applications it is recommended to set this "
+"value to ``True`` but enabling it for non-wsgi services may break such "
+"service. Please check https://bugs.launchpad.net/oslo.messaging/+bug/1934937 "
+"for more details."
+
+msgid ""
+"The ``[oslo_messaging_rabbit] heartbeat_in_pthread`` config option now "
+"defaults to ``True``. Applications will run RabbitMQ heartbeat in a Python "
+"thread by default."
+msgstr ""
+"The ``[oslo_messaging_rabbit] heartbeat_in_pthread`` config option now "
+"defaults to ``True``. Applications will run RabbitMQ heartbeat in a Python "
+"thread by default."
+
+msgid ""
+"The ``get_rpc_transport``, ``get_rpc_server`` and ``get_rpc_client`` helper "
+"functions now have support for overriding the class that is instantiated."
+msgstr ""
+"The ``get_rpc_transport``, ``get_rpc_server`` and ``get_rpc_client`` helper "
+"functions now have support for overriding the class that is instantiated."
+
+msgid ""
 "The blocking executor has been deprecated for removal in Rocky and support "
 "is now dropped in Ussuri. Its usage was never recommended for applications, "
 "and it has no test coverage. Applications should choose the appropriate "
@@ -387,6 +650,17 @@
 "terms of performance and stability."
 
 msgid ""
+"The purpose of this new endpoint is to help operators do a RPC call (a ping) "
+"toward a specific RPC callback (e.g. a nova-compute, or a neutron-agent). "
+"This is helping a lot for monitoring agents (for example, if agents are "
+"deployed in a kubernetes pod)."
+msgstr ""
+"The purpose of this new endpoint is to help operators do a RPC call (a ping) "
+"toward a specific RPC callback (e.g. a nova-compute, or a neutron agent). "
+"This is helping a lot with monitoring agents (for example, if agents are "
+"deployed in a Kubernetes pod)."
+
+msgid ""
 "The rabbitmq driver option ``DEFAULT/max_retries`` has been deprecated for "
 "removal (at a later point in the future) as it did not make logical sense "
 "for notifications and for RPC."
@@ -412,6 +686,9 @@
 "This bug has been fixed in `v2.4.1 of amqp <https://github.com/celery/py-";
 "amqp/commit/bf122a05a21a8cc5bca314b0979f32c8026fc66e>`_."
 
+msgid "This feature can be enabled by setting a configuration parameter:"
+msgstr "This feature can be enabled by setting a configuration parameter:"
+
 msgid ""
 "Threading issues with the kafka-python consumer client were identified and "
 "documented. The driver has been updated to integrate the confluent-kafka "
@@ -441,6 +718,28 @@
 msgid "Ussuri Series Release Notes"
 msgstr "Ussuri Series Release Notes"
 
+msgid "Victoria Series Release Notes"
+msgstr "Victoria Series Release Notes"
+
+msgid "Wallaby Series Release Notes"
+msgstr "Wallaby Series Release Notes"
+
+msgid ""
+"We are now able to enforce the OpenSSL FIPS mode by using "
+"``[oslo_messaging_rabbit] ssl_enforce_fips_mode``."
+msgstr ""
+"We are now able to enforce the OpenSSL FIPS mode by using "
+"``[oslo_messaging_rabbit] ssl_enforce_fips_mode``."
+
+msgid ""
+"We undeprecated the ``heartbeat_in_pthread`` option. This option will remain "
+"available to allow customers to run the rabbitmq heartbeat in python thread "
+"or not."
+msgstr ""
+"We un-deprecated the ``heartbeat_in_pthread`` option. This option will "
+"remain available to allow customers to run the RabbitMQ heartbeat in Python "
+"thread or not."
+
 msgid ""
 "With the change in the client library used, projects using the Kafka driver "
 "should use extras oslo.messaging[kafka] to pull in dependencies for the "
@@ -450,6 +749,15 @@
 "should use extras oslo.messaging[kafka] to pull in dependencies for the "
 "driver."
 
+msgid "Xena Series Release Notes"
+msgstr "Xena Series Release Notes"
+
+msgid "Yoga Series Release Notes"
+msgstr "Yoga Series Release Notes"
+
+msgid "Zed Series Release Notes"
+msgstr "Zed Series Release Notes"
+
 msgid ""
 "ZeroMQ support has been deprecated. The ZeroMQ driver ``zmq://`` has been "
 "unmaintained for over a year and no longer functions properly. It is "
@@ -461,5 +769,28 @@
 "recommended to use one of the maintained backends instead, such as RabbitMQ "
 "or AMQP 1.0."
 
+msgid ""
+"[`bug 1981093 <https://bugs.launchpad.net/oslo.messaging/+bug/1981093>`_] "
+"Pulls calls to logging functions out of ``impl_kafka._produce_message``. "
+"Since ``_produce_message`` is called through tpool.execute, calling logging "
+"functions inside ``_produce_message`` could cause subsequent calls to "
+"logging functions to deadlock."
+msgstr ""
+"[`bug 1981093 <https://bugs.launchpad.net/oslo.messaging/+bug/1981093>`_] "
+"Pulls calls to logging functions out of ``impl_kafka._produce_message``. "
+"Since ``_produce_message`` is called through tpool.execute, calling logging "
+"functions inside ``_produce_message`` could cause subsequent calls to "
+"logging functions to deadlock."
+
+msgid "[oslo_messaging_metrics] metrics_enabled = True  # default is false"
+msgstr "[oslo_messaging_metrics] metrics_enabled = True  # default is false"
+
+msgid ""
+"``heartbeat_in_pthread`` has been deprecated and will be removed in a future "
+"release. If configured, this option should be unset."
+msgstr ""
+"``heartbeat_in_pthread`` has been deprecated and will be removed in a future "
+"release. If configured, this option should be unset."
+
 msgid "oslo.messaging Release Notes"
 msgstr "oslo.messaging Release Notes"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.messaging-14.3.1/test-requirements.txt 
new/oslo.messaging-14.5.0/test-requirements.txt
--- old/oslo.messaging-14.3.1/test-requirements.txt     2023-06-01 
17:07:22.000000000 +0200
+++ new/oslo.messaging-14.5.0/test-requirements.txt     2023-11-14 
11:07:37.000000000 +0100
@@ -26,7 +26,7 @@
 pyngus>=2.2.0 # Apache-2.0
 
 # Bandit security code scanner
-bandit>=1.6.0,<1.7.0 # Apache-2.0
+bandit>=1.7.0,<1.8.0 # Apache-2.0
 
 eventlet>=0.23.0 # MIT
 greenlet>=0.4.15 # MIT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.messaging-14.3.1/tools/setup-scenario-env.sh 
new/oslo.messaging-14.5.0/tools/setup-scenario-env.sh
--- old/oslo.messaging-14.3.1/tools/setup-scenario-env.sh       2023-06-01 
17:07:22.000000000 +0200
+++ new/oslo.messaging-14.5.0/tools/setup-scenario-env.sh       2023-11-14 
11:07:37.000000000 +0100
@@ -50,19 +50,6 @@
         export NOTIFY_TRANSPORT_URL=kafka://127.0.0.1:9092/
         RUN="--env-prefix RABBITMQ run rabbitmq -- pifpaf --env-prefix KAFKA 
run kafka"
         ;;
-    scenario03)
-        _setup_global_site_package_path
-        export RPC_TRANSPORT_URL=amqp://stackqpid:[email protected]:5692/
-        export NOTIFY_TRANSPORT_URL=rabbit://pifpaf:[email protected]:5682/
-        RUN="--env-prefix RABBITMQ run rabbitmq -- pifpaf --debug --env-prefix 
QDR run qdrouterd --username stackqpid --password secretqpid --port 5692"
-        ;;
-    scenario04)
-        _setup_global_site_package_path
-        _setup_kafka
-        export RPC_TRANSPORT_URL=amqp://stackqpid:[email protected]:5692/
-        export NOTIFY_TRANSPORT_URL=kafka://127.0.0.1:9092/
-        RUN="--env-prefix KAFKA run kafka -- pifpaf --debug --env-prefix QDR 
run qdrouterd --username stackqpid --password secretqpid --port 5692"
-        ;;
     *) ;;
 esac
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.messaging-14.3.1/tox.ini 
new/oslo.messaging-14.5.0/tox.ini
--- old/oslo.messaging-14.3.1/tox.ini   2023-06-01 17:07:22.000000000 +0200
+++ new/oslo.messaging-14.5.0/tox.ini   2023-11-14 11:07:37.000000000 +0100
@@ -52,7 +52,7 @@
 # scenario03      amqp     rabbit
 # scenario04      amqp     kafka
 #
-[testenv:py38-func-scenario01]
+[testenv:py310-func-scenario01]
 setenv =
   SCENARIO=scenario01
 allowlist_externals =
@@ -60,7 +60,7 @@
 commands =
   {toxinidir}/tools/setup-scenario-env.sh stestr run --slowest 
{posargs:oslo_messaging.tests.functional}
 
-[testenv:py38-func-scenario02]
+[testenv:py310-func-scenario02]
 setenv =
   SCENARIO=scenario02
 allowlist_externals =
@@ -68,7 +68,7 @@
 commands =
   {toxinidir}/tools/setup-scenario-env.sh stestr run --slowest 
{posargs:oslo_messaging.tests.functional}
 
-[testenv:py38-func-scenario03]
+[testenv:py310-func-scenario03]
 setenv =
   SCENARIO=scenario03
   ENVNAME={envname}
@@ -78,7 +78,7 @@
 commands =
   {toxinidir}/tools/setup-scenario-env.sh stestr run --slowest 
{posargs:oslo_messaging.tests.functional}
 
-[testenv:py38-func-scenario04]
+[testenv:py310-func-scenario04]
 setenv =
   SCENARIO=scenario04
   ENVNAME={envname}

Reply via email to