2e190597bb
In change I78cb60168aaa40bb6439198283546b7faf33917c, action was changed to kolla_action, and serial to kolla_serial, to avoid Ansible warnings due to use of reserved keywords. In that change, some keywords were missed, and some changes that were merged since then have not switched to the new variables. This change fixes all current instances of those issues. Change-Id: I357dffdfcb2b405e280a962d366ee65eebf0a8d1 Implements: blueprint migrate-to-ansible-2-2-0
209 lines
6.5 KiB
YAML
209 lines
6.5 KiB
YAML
---
|
|
- name: Ensuring config directories exist
|
|
file:
|
|
path: "{{ node_config_directory }}/{{ item.key }}"
|
|
state: "directory"
|
|
owner: "{{ config_owner_user }}"
|
|
group: "{{ config_owner_group }}"
|
|
mode: "0770"
|
|
become: true
|
|
when:
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ ironic_services }}"
|
|
|
|
- name: Check if policies shall be overwritten
|
|
local_action: stat path="{{ item }}"
|
|
run_once: True
|
|
register: ironic_policy
|
|
with_first_found:
|
|
- files: "{{ supported_policy_format_list }}"
|
|
paths:
|
|
- "{{ node_custom_config }}/ironic/"
|
|
skip: true
|
|
|
|
- name: Set ironic policy file
|
|
set_fact:
|
|
ironic_policy_file: "{{ ironic_policy.results.0.stat.path | basename }}"
|
|
ironic_policy_file_path: "{{ ironic_policy.results.0.stat.path }}"
|
|
when:
|
|
- ironic_policy.results
|
|
|
|
- name: Copying over config.json files for services
|
|
template:
|
|
src: "{{ item.key }}.json.j2"
|
|
dest: "{{ node_config_directory }}/{{ item.key }}/config.json"
|
|
mode: "0660"
|
|
become: true
|
|
register: ironic_config_jsons
|
|
when:
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ ironic_services }}"
|
|
notify:
|
|
- "Restart {{ item.key }} container"
|
|
|
|
- name: Copying over ironic.conf
|
|
vars:
|
|
service_name: "{{ item.key }}"
|
|
merge_configs:
|
|
sources:
|
|
- "{{ role_path }}/templates/ironic.conf.j2"
|
|
- "{{ node_custom_config }}/global.conf"
|
|
- "{{ node_custom_config }}/ironic.conf"
|
|
- "{{ node_custom_config }}/ironic/{{ item.key }}.conf"
|
|
- "{{ node_custom_config }}/ironic/{{ inventory_hostname }}/ironic.conf"
|
|
dest: "{{ node_config_directory }}/{{ item.key }}/ironic.conf"
|
|
mode: "0660"
|
|
become: true
|
|
register: ironic_confs
|
|
when:
|
|
- item.key in [ "ironic-api", "ironic-conductor" ]
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ ironic_services }}"
|
|
notify:
|
|
- "Restart {{ item.key }} container"
|
|
|
|
- name: Copying over inspector.conf
|
|
vars:
|
|
service: "{{ ironic_services['ironic-inspector'] }}"
|
|
merge_configs:
|
|
sources:
|
|
- "{{ role_path }}/templates/ironic-inspector.conf.j2"
|
|
- "{{ node_custom_config }}/global.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"
|
|
mode: "0660"
|
|
become: true
|
|
register: ironic_inspector_confs
|
|
when:
|
|
- inventory_hostname in groups[service.group]
|
|
- service.enabled | bool
|
|
notify:
|
|
- Restart ironic-inspector container
|
|
|
|
- name: Copying over dnsmasq.conf
|
|
vars:
|
|
service: "{{ ironic_services['ironic-dnsmasq'] }}"
|
|
template:
|
|
src: "{{ item }}"
|
|
dest: "{{ node_config_directory }}/ironic-dnsmasq/dnsmasq.conf"
|
|
mode: "0660"
|
|
become: true
|
|
register: ironic_dnsmasq_confs
|
|
when:
|
|
- inventory_hostname in groups[service.group]
|
|
- service.enabled | bool
|
|
with_first_found:
|
|
- "{{ node_custom_config }}/ironic/ironic-dnsmasq.conf"
|
|
- "{{ node_custom_config }}/ironic/{{ inventory_hostname }}/ironic-dnsmasq.conf"
|
|
- "ironic-dnsmasq.conf.j2"
|
|
notify:
|
|
- Restart ironic-dnsmasq container
|
|
|
|
- name: Copying pxelinux.cfg default
|
|
vars:
|
|
service: "{{ ironic_services['ironic-pxe'] }}"
|
|
template:
|
|
src: "{{ item }}"
|
|
dest: "{{ node_config_directory }}/ironic-pxe/default"
|
|
mode: "0660"
|
|
become: true
|
|
register: ironic_pxe_confs
|
|
with_first_found:
|
|
- "{{ node_custom_config }}/ironic/pxelinux.default"
|
|
- "{{ node_custom_config }}/ironic/{{ inventory_hostname }}/pxelinux.default"
|
|
- "pxelinux.default.j2"
|
|
when:
|
|
# Only required when Ironic inspector is in use.
|
|
- groups['ironic-inspector'] | length > 0
|
|
- inventory_hostname in groups[service.group]
|
|
- service.enabled | bool
|
|
- not enable_ironic_pxe_uefi | bool
|
|
notify:
|
|
- Restart ironic-pxe container
|
|
|
|
- name: Copying ironic_pxe_uefi.cfg default
|
|
vars:
|
|
service: "{{ ironic_services['ironic-pxe'] }}"
|
|
template:
|
|
src: "{{ item }}"
|
|
dest: "{{ node_config_directory }}/ironic-pxe/default"
|
|
mode: "0660"
|
|
become: true
|
|
register: ironic_pxe_uefi_confs
|
|
with_first_found:
|
|
- "{{ node_custom_config }}/ironic/ironic_pxe_uefi.default"
|
|
- "{{ node_custom_config }}/ironic/{{ inventory_hostname }}/ironic_pxe_uefi.default"
|
|
- "ironic_pxe_uefi.default.j2"
|
|
when:
|
|
- inventory_hostname in groups[service.group]
|
|
- service.enabled | bool
|
|
- enable_ironic_pxe_uefi | bool
|
|
notify:
|
|
- Restart ironic-pxe container
|
|
|
|
- name: Copying ironic-agent kernel and initramfs
|
|
vars:
|
|
service: "{{ ironic_services['ironic-pxe'] }}"
|
|
copy:
|
|
src: "{{ node_custom_config }}/ironic/{{ item }}"
|
|
dest: "{{ node_config_directory }}/ironic-pxe/{{ item }}"
|
|
mode: "0660"
|
|
become: true
|
|
register: ironic_kernel
|
|
with_items:
|
|
- "ironic-agent.kernel"
|
|
- "ironic-agent.initramfs"
|
|
when:
|
|
# Only required when Ironic inspector is in use.
|
|
- groups['ironic-inspector'] | length > 0
|
|
- inventory_hostname in groups['ironic-pxe']
|
|
- inventory_hostname in groups[service.group]
|
|
- service.enabled | bool
|
|
- not enable_ironic_pxe_uefi | bool
|
|
notify:
|
|
- Restart ironic-pxe container
|
|
|
|
- name: Copying over existing policy file
|
|
vars:
|
|
services_require_policy_json:
|
|
- ironic-api
|
|
- ironic-conductor
|
|
- ironic-inspector
|
|
template:
|
|
src: "{{ ironic_policy_file_path }}"
|
|
dest: "{{ node_config_directory }}/{{ item.key }}/{{ ironic_policy_file }}"
|
|
mode: "0770"
|
|
become: true
|
|
register: ironic_policy_jsons
|
|
when:
|
|
- ironic_policy_file is defined
|
|
- item.key in services_require_policy_json
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ ironic_services }}"
|
|
notify:
|
|
- "Restart {{ item.key }} container"
|
|
|
|
- name: Check ironic containers
|
|
kolla_docker:
|
|
action: "compare_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
name: "{{ item.value.container_name }}"
|
|
image: "{{ item.value.image }}"
|
|
privileged: "{{ item.value.privileged|default(False) }}"
|
|
cap_add: "{{ item.value.cap_add|default([]) }}"
|
|
volumes: "{{ item.value.volumes }}"
|
|
register: check_ironic_containers
|
|
when:
|
|
- kolla_action != "config"
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ ironic_services }}"
|
|
notify:
|
|
- "Restart {{ item.key }} container"
|