Skip to content
Snippets Groups Projects
precheck.yml 2.05 KiB
Newer Older
- 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_http
  register: container_facts

caoyuan's avatar
caoyuan committed
- name: Checking free port for Ironic API
  wait_for:
    host: "{{ api_interface_address }}"
    port: "{{ ironic_api_listen_port }}"
    connect_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
    state: stopped
  when:
    - container_facts['ironic_inspector'] is not defined
    - inventory_hostname in groups['ironic-inspector']

- name: Checking free port for Ironic HTTP server
  wait_for:
    host: "{{ api_interface_address }}"
    port: "{{ ironic_http_port }}"
    connect_timeout: 1
    timeout: 1
    state: stopped
  when:
    - container_facts['ironic_http'] is not defined
    - inventory_hostname in groups['ironic-http']
- name: Checking ironic-agent files exist for Ironic Inspector
  stat:
    path: "{{ node_custom_config }}/ironic/{{ item }}"
  delegate_to: localhost
  register: result
  failed_when: not result.stat.exists
  when:
    # Only required when Ironic inspector is in use.
    - groups['ironic-inspector'] | length > 0
    - (not ironic_dnsmasq_serve_ipxe | bool and inventory_hostname in groups['ironic-tftp']) or
        (ironic_dnsmasq_serve_ipxe | bool and inventory_hostname in groups['ironic-http'])
    - not enable_ironic_pxe_uefi | bool
  with_items:
    - "ironic-agent.kernel"
    - "ironic-agent.initramfs"
- name: Ensure ironic_dnsmasq_dhcp_ranges is configured
      ironic_dnsmasq_dhcp_ranges must be a list
  connection: local
  run_once: True
  when: not ironic_dnsmasq_dhcp_ranges is sequence