Fix RabbitMQ hostname address resolution precheck

Make it require uniqueness of resolution as well to avoid later
issues with RabbitMQ going crazy.

Change-Id: I000ba6c62ab44eac0abdf8d5d1f069adfbc6552f
Closes-bug: #1863363
(cherry picked from commit 5dd9c532c6)
This commit is contained in:
Radosław Piliszek 2020-02-14 19:26:47 +01:00
parent 1a3be11ae5
commit 3003cb4a12
2 changed files with 20 additions and 6 deletions

View File

@ -57,10 +57,14 @@
register: rabbitmq_hostnames register: rabbitmq_hostnames
with_items: "{{ groups['rabbitmq'] }}" with_items: "{{ groups['rabbitmq'] }}"
- fail: msg="Hostname has to resolve to IP address of api_interface" - name: Check if each rabbit hostname resolves uniquely to the proper IP address
with_items: "{{ rabbitmq_hostnames.results }}" fail:
msg: Hostname has to resolve uniquely to the IP address of api_interface
with_subelements:
- "{{ rabbitmq_hostnames.results }}"
- stdout_lines
when: when:
- "item.stdout.find(hostvars[item['item']]['ansible_' ~ hostvars[item['item']]['api_interface']]['ipv4']['address']) == -1" - not item.1 is match('^'+hostvars[item.0.item]['ansible_' ~ hostvars[item.0.item]['api_interface']]['ipv4']['address']+'\\b')
- name: Checking free port for outward RabbitMQ - name: Checking free port for outward RabbitMQ
wait_for: wait_for:
@ -114,8 +118,12 @@
when: when:
- enable_outward_rabbitmq | bool - enable_outward_rabbitmq | bool
- fail: msg="Hostname has to resolve to IP address of api_interface" - name: Check if each rabbit hostname resolves uniquely to the proper IP address
with_items: "{{ outward_rabbitmq_hostnames.results }}" fail:
msg: Hostname has to resolve uniquely to the IP address of api_interface
with_subelements:
- "{{ outward_rabbitmq_hostnames.results }}"
- stdout_lines
when: when:
- enable_outward_rabbitmq | bool - enable_outward_rabbitmq | bool
- "item.stdout.find(hostvars[item['item']]['ansible_' ~ hostvars[item['item']]['api_interface']]['ipv4']['address']) == -1" - not item.1 is match('^'+hostvars[item.0.item]['ansible_' ~ hostvars[item.0.item]['api_interface']]['ipv4']['address']+'\\b')

View File

@ -0,0 +1,6 @@
---
fixes:
- |
Makes RabbitMQ hostname address resolution precheck stronger by
requiring uniqueness of resolution to avoid later issues.
`LP#1863363 <https://launchpad.net/bugs/1863363>`