kolla-ansible/ansible/roles/ironic/tasks/precheck.yml
Radosław Piliszek 19c5f2f033 Fix prechecks for "Ironic iPXE" container
Since I30c2ad2bf2957ac544942aefae8898cdc8a61ec6 this container
is always enabled and thus the port should always be checked.

Change-Id: I94a70d89123611899872061bd69593280d0a68c4
2022-03-04 18:50:11 +01:00

75 lines
2.0 KiB
YAML

---
- import_role:
name: service-precheck
vars:
service_precheck_services: "{{ ironic_services }}"
service_name: "{{ project_name }}"
- name: Get container facts
become: true
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_listen_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_listen_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:
- container_facts['ironic_ipxe'] is not defined
- inventory_hostname in groups['ironic-ipxe']
- name: Checking ironic-agent files exist for Ironic Inspector
stat:
path: "{{ node_custom_config }}/ironic/{{ item }}"
delegate_to: localhost
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