From 65866519e4e4a44470c9748b2547435d03e90c05 Mon Sep 17 00:00:00 2001 From: Dmitriy Rabotyagov Date: Wed, 15 Apr 2020 04:42:43 +0300 Subject: [PATCH] support rabbitmq 3.8.x in version check (#66855) (#68137) * support rabbitmq 3.8.x in version check (#66855) * support rabbitmq 3.8.x in version check * Removed extraneous white space (cherry picked from commit 6b017db05be3acf943494f7d6a9b36719ad7e870) * Add changelog fragment. Co-authored-by: bitchkat Co-authored-by: Matt Clay --- changelogs/fragments/rabbitmq-3.8.yml | 2 ++ lib/ansible/modules/messaging/rabbitmq/rabbitmq_policy.py | 6 ++++++ 2 files changed, 8 insertions(+) create mode 100644 changelogs/fragments/rabbitmq-3.8.yml diff --git a/changelogs/fragments/rabbitmq-3.8.yml b/changelogs/fragments/rabbitmq-3.8.yml new file mode 100644 index 00000000000..1a6862a48e3 --- /dev/null +++ b/changelogs/fragments/rabbitmq-3.8.yml @@ -0,0 +1,2 @@ +bugfixes: +- rabbitmq_policy - Fix version parsing for RabbitMQ 3.8. diff --git a/lib/ansible/modules/messaging/rabbitmq/rabbitmq_policy.py b/lib/ansible/modules/messaging/rabbitmq/rabbitmq_policy.py index 67c66f6f73e..e72c13696ba 100644 --- a/lib/ansible/modules/messaging/rabbitmq/rabbitmq_policy.py +++ b/lib/ansible/modules/messaging/rabbitmq/rabbitmq_policy.py @@ -125,10 +125,16 @@ class RabbitMqPolicy(object): def _rabbit_version(self): status = self._exec(['status'], True, False, False) + # 3.7.x erlang style output version_match = re.search('{rabbit,".*","(?P.*)"}', status) if version_match: return Version(version_match.group('version')) + # 3.8.x style ouput + version_match = re.search('RabbitMQ version: (?P.*)', status) + if version_match: + return Version(version_match.group('version')) + return None def _list_policies(self):