--- - name: Get container facts kolla_container_facts: name: - rabbitmq register: container_facts - name: Checking free port for RabbitMQ wait_for: host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}" port: "{{ rabbitmq_port }}" connect_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: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}" port: "{{ rabbitmq_management_port }}" connect_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: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}" port: "{{ rabbitmq_cluster_port }}" connect_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: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}" port: "{{ rabbitmq_epmd_port }}" connect_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: - "'{{ hostvars[item['item']]['ansible_' + hostvars[item['item']]['api_interface']]['ipv4']['address'] }}' not in '{{ item.stdout }}'"