diff --git a/changelogs/fragments/55919-rabbitmq_publish-fix-for-recent-pika-versions.yml b/changelogs/fragments/55919-rabbitmq_publish-fix-for-recent-pika-versions.yml new file mode 100644 index 00000000000..8175c1e9fc9 --- /dev/null +++ b/changelogs/fragments/55919-rabbitmq_publish-fix-for-recent-pika-versions.yml @@ -0,0 +1,2 @@ +bugfixes: + - rabbitmq_publish - Fix to ensure the module works correctly for pika v1.0.0 and later. (https://github.com/ansible/ansible/pull/61960) diff --git a/lib/ansible/module_utils/rabbitmq.py b/lib/ansible/module_utils/rabbitmq.py index 718fcf19d24..aabb8a235bf 100644 --- a/lib/ansible/module_utils/rabbitmq.py +++ b/lib/ansible/module_utils/rabbitmq.py @@ -18,6 +18,7 @@ import traceback PIKA_IMP_ERR = None try: import pika + import pika.exceptions from pika import spec HAS_PIKA = True except ImportError: @@ -193,4 +194,8 @@ class RabbitClient(): if args['exchange'] is None: args['exchange'] = '' - return self.conn_channel.basic_publish(**args) + try: + self.conn_channel.basic_publish(**args) + return True + except pika.exceptions.UnroutableError: + return False