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
This commit is contained in:
Radosław Piliszek 2020-02-14 19:26:47 +01:00
parent 35c3f333e9
commit 5dd9c532c6
2 changed files with 18 additions and 8 deletions

View File

@ -59,12 +59,14 @@
register: rabbitmq_hostnames
with_items: "{{ groups['rabbitmq'] }}"
- name: Check if rabbit hostname resolves to IP address of api_interface
- name: Check if each rabbit hostname resolves uniquely to the proper IP address
fail:
msg: "Hostname has to resolve to IP address of api_interface"
with_items: "{{ rabbitmq_hostnames.results }}"
msg: Hostname has to resolve uniquely to the IP address of api_interface
with_subelements:
- "{{ rabbitmq_hostnames.results }}"
- stdout_lines
when:
- "item.stdout.find('api' | kolla_address(item['item'])) == -1"
- not item.1 is match('^'+('api' | kolla_address(item.0.item))+'\\b')
- name: Checking free port for outward RabbitMQ
wait_for:
@ -120,10 +122,12 @@
when:
- enable_outward_rabbitmq | bool
- name: Check if rabbit hostname resolves to IP address of api_interface
- name: Check if each rabbit hostname resolves uniquely to the proper IP address
fail:
msg: "Hostname has to resolve to IP address of api_interface"
with_items: "{{ outward_rabbitmq_hostnames.results }}"
msg: Hostname has to resolve uniquely to the IP address of api_interface
with_subelements:
- "{{ outward_rabbitmq_hostnames.results }}"
- stdout_lines
when:
- enable_outward_rabbitmq | bool
- "item.stdout.find('api' | kolla_address(item['item'])) == -1"
- not item.1 is match('^'+('api' | kolla_address(item.0.item))+'\\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>`