kolla-ansible/ansible/roles/qdrouterd/tasks/precheck.yml
Andrew Smith eeb535aa2e Add qdrouterd role for messaging infrastructure component
Adding the role needed to run the qdrouterd as an infrastructure
component which provides a messaging backend for the
oslo.messaging AMQP 1.0 driver. The qdrouterd will provide direct
messaging capabilities for the RPC messaging pattern in support
of hybrid messaging deployments.

Implements: blueprint qdrouterd-role
Change-Id: I74c654b3c70f61f81c2c7efa87f076a62a4a2dd8
2017-07-10 11:04:43 -04:00

29 lines
882 B
YAML

---
- name: Get container facts
kolla_container_facts:
name:
- qdrouterd
register: container_facts
- name: Checking free port for Qdrouterd
wait_for:
host: "{{ api_interface_address }}"
port: "{{ qdrouterd_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- container_facts['qdrouterd'] is not defined
- inventory_hostname in groups['qdrouterd']
- name: Check if all qdrouterd hostnames are resolvable
command: "getent ahostsv4 {{ hostvars[item]['ansible_hostname'] }}"
changed_when: false
register: qdrouterd_hostnames
with_items: "{{ groups['qdrouterd'] }}"
- fail: msg="Hostname has to resolve to IP address of api_interface"
with_items: "{{ qdrouterd_hostnames.results }}"
when:
- "item.stdout.find(hostvars[item['item']]['ansible_' ~ hostvars[item['item']]['api_interface']]['ipv4']['address']) == -1"