--- - name: Ensuring config directories exist file: path: "{{ node_config_directory }}/{{ item }}" state: "directory" recurse: yes with_items: - "ironic-api" - "ironic-conductor" - "ironic-inspector" - "ironic-pxe" - "ironic-dnsmasq" - name: Copying over config.json files for services template: src: "{{ item }}.json.j2" dest: "{{ node_config_directory }}/{{ item }}/config.json" with_items: - "ironic-api" - "ironic-conductor" - "ironic-inspector" - "ironic-pxe" - "ironic-dnsmasq" - name: Copying over ironic.conf vars: service_name: "{{ item }}" merge_configs: sources: - "{{ role_path }}/templates/ironic.conf.j2" - "{{ node_custom_config }}/global.conf" - "{{ node_custom_config }}/database.conf" - "{{ node_custom_config }}/messaging.conf" - "{{ node_custom_config }}/ironic.conf" - "{{ node_custom_config }}/ironic/{{ item }}.conf" - "{{ node_custom_config }}/ironic/{{ inventory_hostname }}/ironic.conf" dest: "{{ node_config_directory }}/{{ item }}/ironic.conf" with_items: - "ironic-api" - "ironic-conductor" - name: Copying over inspector.conf vars: service_name: "ironic-inspector" merge_configs: sources: - "{{ role_path }}/templates/ironic-inspector.conf.j2" - "{{ node_custom_config }}/global.conf" - "{{ node_custom_config }}/database.conf" - "{{ node_custom_config }}/messaging.conf" - "{{ node_custom_config }}/ironic-inspector.conf" - "{{ node_custom_config }}/ironic-inspector/inspector.conf" - "{{ node_custom_config }}/ironic-inspector/{{ inventory_hostname }}/inspector.conf" dest: "{{ node_config_directory }}/ironic-inspector/inspector.conf" - name: Copying over dnsmasq.conf template: src: "{{ item }}" dest: "{{ node_config_directory }}/ironic-dnsmasq/dnsmasq.conf" with_first_found: - "{{ node_custom_config }}/ironic/ironic-dnsmasq.conf" - "{{ node_custom_config }}/ironic/{{ inventory_hostname }}/ironic-dnsmasq.conf" - "ironic-dnsmasq.conf.j2" when: inventory_hostname in groups['ironic-inspector'] - name: Copying pxelinux.cfg default template: src: "{{ item }}" dest: "{{ node_config_directory }}/ironic-pxe/default" with_first_found: - "{{ node_custom_config }}/ironic/pxelinux.default" - "{{ node_custom_config }}/ironic/{{ inventory_hostname }}/pxelinux.default" - "pxelinux.default.j2" - name: Copying ironic-agent kernel and initramfs copy: src: "{{ node_custom_config }}/ironic/{{ item }}" dest: "{{ node_config_directory }}/ironic-pxe/{{ item }}" with_items: - "ironic-agent.kernel" - "ironic-agent.initramfs" when: orchestration_engine != 'KUBERNETES' - name: Check if policies shall be overwritten local_action: stat path="{{ node_custom_config }}/ironic/policy.json" run_once: True register: ironic_policy - name: Copying over existing policy.json template: src: "{{ node_custom_config }}/ironic/policy.json" dest: "{{ node_config_directory }}/{{ item }}/policy.json" with_items: - "ironic-api" - "ironic-conductor" - "ironic-inspector" - "ironic-pxe" when: ironic_policy.stat.exists