oslo.messaging/oslo_messaging
Arnaud Morin 8e3c523fd7 Auto-delete the failed quorum rabbit queues
When rabbit is failing for a specific quorum queue, the only thing to
do is to delete the queue (as per rabbit doc, see [1]).

So, to avoid the RPC service to be broken until an operator eventually
do a manual fix on it, catch any INTERNAL ERROR (code 541) and trigger
the deletion of the failed queues under those conditions.
So on next queue declare (triggered from various retries), the queue
will be created again and the service will recover by itself.

Closes-Bug: #2028384
Related-bug: #2031497

[1] https://www.rabbitmq.com/quorum-queues.html#availability

Signed-off-by: Arnaud Morin <arnaud.morin@ovhcloud.com>
Change-Id: Ib8dba833542973091a4e0bf23bb593aca89c5905
2023-11-12 00:08:20 +01:00
..
_drivers Auto-delete the failed quorum rabbit queues 2023-11-12 00:08:20 +01:00
_metrics Bump bandit and make oslo.messaging compatible with latest rules 2023-05-17 11:06:34 +02:00
hacking Remove six usage 2020-05-11 10:21:58 +02:00
notify Add is_admin to safe fields list for notifications 2023-09-25 17:51:32 +00:00
rpc Support overriding class for get_rpc_* helper functions 2023-01-23 08:40:37 +00:00
tests Merge "Bump bandit and make oslo.messaging compatible with latest rules" 2023-10-20 13:47:33 +00:00
__init__.py Remove deprecated localcontext 2016-05-18 09:28:15 +02:00
_utils.py Disable greenthreads for RabbitDriver "listen" connections 2023-03-03 11:24:27 +01:00
conffixture.py Add Support For oslo.metrics 2021-06-08 22:22:37 +08:00
dispatcher.py Remove six usage 2020-05-11 10:21:58 +02:00
exceptions.py Add a new option to enforce the OpenSSL FIPS mode 2021-11-08 15:05:30 +01:00
opts.py Add a ping endpoint to RPC dispatcher 2020-08-18 15:09:29 +02:00
serializer.py Remove six usage 2020-05-11 10:21:58 +02:00
server.py Remove six usage 2020-05-11 10:21:58 +02:00
target.py Fixups to the inline documentation 2016-09-12 09:49:00 -04:00
transport.py Remove six usage 2020-05-11 10:21:58 +02:00
version.py pbr.version.VersionInfo needs package name (oslo.xyz and not oslo_xyz) 2017-02-06 12:49:23 -05:00