7e9fa0cd41
Copy the patterns from the rabbit checks, skip some pre-checks when the
container has already been started. Without this change the pre-checks
fail when you re-run the deploy, i.e. the port is not free because
rabbit is already running on that port.
This bug was triggered because murano is enabled, and this change has
been added to add the extra rabbitmq instance by default:
d8fe3ea780
Closes-Bug: #1715135
Change-Id: I0eb8785e7cd4eadfa792ea14a27f54a891b2bf02
121 lines
3.7 KiB
YAML
121 lines
3.7 KiB
YAML
---
|
|
- name: Get container facts
|
|
kolla_container_facts:
|
|
name:
|
|
- rabbitmq
|
|
- outward_rabbitmq
|
|
register: container_facts
|
|
|
|
- name: Checking free port for RabbitMQ
|
|
wait_for:
|
|
host: "{{ api_interface_address }}"
|
|
port: "{{ rabbitmq_port }}"
|
|
connect_timeout: 1
|
|
timeout: 1
|
|
state: stopped
|
|
when:
|
|
- container_facts['rabbitmq'] is not defined
|
|
- inventory_hostname in groups['rabbitmq']
|
|
|
|
- name: Checking free port for RabbitMQ Management
|
|
wait_for:
|
|
host: "{{ api_interface_address }}"
|
|
port: "{{ rabbitmq_management_port }}"
|
|
connect_timeout: 1
|
|
timeout: 1
|
|
state: stopped
|
|
when:
|
|
- container_facts['rabbitmq'] is not defined
|
|
- inventory_hostname in groups['rabbitmq']
|
|
|
|
- name: Checking free port for RabbitMQ Cluster
|
|
wait_for:
|
|
host: "{{ api_interface_address }}"
|
|
port: "{{ rabbitmq_cluster_port }}"
|
|
connect_timeout: 1
|
|
timeout: 1
|
|
state: stopped
|
|
when:
|
|
- container_facts['rabbitmq'] is not defined
|
|
- inventory_hostname in groups['rabbitmq']
|
|
|
|
- name: Checking free port for RabbitMQ EPMD
|
|
wait_for:
|
|
host: "{{ api_interface_address }}"
|
|
port: "{{ rabbitmq_epmd_port }}"
|
|
connect_timeout: 1
|
|
timeout: 1
|
|
state: stopped
|
|
when:
|
|
- container_facts['rabbitmq'] is not defined
|
|
- inventory_hostname in groups['rabbitmq']
|
|
|
|
- name: Check if all rabbit hostnames are resolvable
|
|
command: "getent ahostsv4 {{ hostvars[item]['ansible_hostname'] }}"
|
|
changed_when: false
|
|
register: rabbitmq_hostnames
|
|
with_items: "{{ groups['rabbitmq'] }}"
|
|
|
|
- fail: msg="Hostname has to resolve to IP address of api_interface"
|
|
with_items: "{{ rabbitmq_hostnames.results }}"
|
|
when:
|
|
- "item.stdout.find(hostvars[item['item']]['ansible_' ~ hostvars[item['item']]['api_interface']]['ipv4']['address']) == -1"
|
|
|
|
- name: Checking free port for outward RabbitMQ
|
|
wait_for:
|
|
host: "{{ api_interface_address }}"
|
|
port: "{{ outward_rabbitmq_port }}"
|
|
connect_timeout: 1
|
|
state: stopped
|
|
when:
|
|
- enable_outward_rabbitmq | bool
|
|
- inventory_hostname in groups['outward-rabbitmq']
|
|
- container_facts['outward_rabbitmq'] is not defined
|
|
|
|
- name: Checking free port for outward RabbitMQ Management
|
|
wait_for:
|
|
host: "{{ api_interface_address }}"
|
|
port: "{{ outward_rabbitmq_management_port }}"
|
|
connect_timeout: 1
|
|
state: stopped
|
|
when:
|
|
- enable_outward_rabbitmq | bool
|
|
- inventory_hostname in groups['outward-rabbitmq']
|
|
- container_facts['outward_rabbitmq'] is not defined
|
|
|
|
- name: Checking free port for outward RabbitMQ Cluster
|
|
wait_for:
|
|
host: "{{ api_interface_address }}"
|
|
port: "{{ outward_rabbitmq_cluster_port }}"
|
|
connect_timeout: 1
|
|
state: stopped
|
|
when:
|
|
- enable_outward_rabbitmq | bool
|
|
- inventory_hostname in groups['outward-rabbitmq']
|
|
- container_facts['outward_rabbitmq'] is not defined
|
|
|
|
- name: Checking free port for outward RabbitMQ EPMD
|
|
wait_for:
|
|
host: "{{ api_interface_address }}"
|
|
port: "{{ outward_rabbitmq_epmd_port }}"
|
|
connect_timeout: 1
|
|
state: stopped
|
|
when:
|
|
- enable_outward_rabbitmq | bool
|
|
- inventory_hostname in groups['outward-rabbitmq']
|
|
- container_facts['outward_rabbitmq'] is not defined
|
|
|
|
- name: Check if all outward rabbit hostnames are resolvable
|
|
command: "getent ahostsv4 {{ hostvars[item]['ansible_hostname'] }}"
|
|
changed_when: false
|
|
register: outward_rabbitmq_hostnames
|
|
with_items: "{{ groups['outward-rabbitmq'] }}"
|
|
when:
|
|
- enable_outward_rabbitmq | bool
|
|
|
|
- fail: msg="Hostname has to resolve to IP address of api_interface"
|
|
with_items: "{{ outward_rabbitmq_hostnames.results }}"
|
|
when:
|
|
- enable_outward_rabbitmq | bool
|
|
- "item.stdout.find(hostvars[item['item']]['ansible_' ~ hostvars[item['item']]['api_interface']]['ipv4']['address']) == -1"
|