--- - name: Get container facts kolla_container_facts: name: - ironic_api - ironic_inspector - ironic_ipxe register: container_facts - name: Checking free port for Ironic API wait_for: host: "{{ api_interface_address }}" port: "{{ ironic_api_port }}" connect_timeout: 1 timeout: 1 state: stopped when: - container_facts['ironic_api'] is not defined - inventory_hostname in groups['ironic-api'] - name: Checking free port for Ironic Inspector wait_for: host: "{{ api_interface_address }}" port: "{{ ironic_inspector_port }}" connect_timeout: 1 timeout: 1 state: stopped when: - container_facts['ironic_inspector'] is not defined - inventory_hostname in groups['ironic-inspector'] - name: Checking free port for Ironic iPXE wait_for: host: "{{ api_interface_address }}" port: "{{ ironic_ipxe_port }}" connect_timeout: 1 timeout: 1 state: stopped when: - enable_ironic_ipxe | bool - container_facts['ironic_ipxe'] is not defined - inventory_hostname in groups['ironic-ipxe'] - name: Checking ironic-agent files exist for Ironic Inspector local_action: stat path="{{ node_custom_config }}/ironic/{{ item }}" run_once: True register: result failed_when: not result.stat.exists when: # Only required when Ironic inspector is in use. - groups['ironic-inspector'] | length > 0 - (not enable_ironic_ipxe | bool and inventory_hostname in groups['ironic-pxe']) or (enable_ironic_ipxe | bool and inventory_hostname in groups['ironic-ipxe']) - not enable_ironic_pxe_uefi | bool with_items: - "ironic-agent.kernel" - "ironic-agent.initramfs" - name: Ensure dnsmasq_dhcp_range configured for Ironic Dnsmasq fail: msg: > ironic_dnsmasq_dhcp_range must be set when enable ironic connection: local run_once: True when: - ironic_dnsmasq_dhcp_range is none