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):