428ef10fa4
This patch adds new functionality - merging base & environment specific kolla config. This allows you to place common settings in the base configuration and only keep environment specific settings in the environment directories. Change-Id: Id4588f4529a4522e68e22ce58711cb927fa68a9d Story: 2002009 Task: 42903
133 lines
4.8 KiB
YAML
133 lines
4.8 KiB
YAML
---
|
|
- name: Ensure ironic inspector kernel and ramdisk images are present
|
|
vars:
|
|
image_download_url: "{{ item.url }}"
|
|
image_download_checksum_url: "{{ item.checksum_url }}"
|
|
image_download_checksum_algorithm: "{{ item.checksum_algorithm }}"
|
|
image_download_path: "{{ item.path }}"
|
|
image_download_dest: "{{ item.dest }}"
|
|
include_role:
|
|
name: image-download
|
|
with_items:
|
|
- url: "{{ kolla_inspector_ipa_kernel_upstream_url }}"
|
|
checksum_url: "{{ kolla_inspector_ipa_kernel_checksum_url }}"
|
|
checksum_algorithm: "{{ kolla_inspector_ipa_kernel_checksum_algorithm }}"
|
|
path: "{{ kolla_inspector_ipa_kernel_path }}"
|
|
dest: "{{ kolla_node_custom_config_path }}/ironic/ironic-agent.kernel"
|
|
- url: "{{ kolla_inspector_ipa_ramdisk_upstream_url }}"
|
|
checksum_url: "{{ kolla_inspector_ipa_ramdisk_checksum_url }}"
|
|
checksum_algorithm: "{{ kolla_inspector_ipa_ramdisk_checksum_algorithm }}"
|
|
path: "{{ kolla_inspector_ipa_ramdisk_path }}"
|
|
dest: "{{ kolla_node_custom_config_path }}/ironic/ironic-agent.initramfs"
|
|
when: kolla_enable_ironic | bool
|
|
loop_control:
|
|
label: "{{ item.dest }}"
|
|
|
|
- name: Make destination directory for Nova certificates
|
|
file:
|
|
state: directory
|
|
path: "{{ kolla_node_custom_config_path }}/nova/nova-libvirt/"
|
|
when: kolla_enable_nova | bool and kolla_libvirt_tls | bool
|
|
|
|
- name: Copy client TLS certificates for Nova
|
|
vars:
|
|
certificates:
|
|
- clientcert.pem
|
|
- clientkey.pem
|
|
- cacert.pem
|
|
copy:
|
|
src: "{{ kolla_nova_libvirt_certificates_src }}/{{ item }}"
|
|
dest: "{{ kolla_node_custom_config_path }}/nova/nova-libvirt/{{ item }}"
|
|
loop: "{{ certificates if kolla_enable_nova | bool and kolla_libvirt_tls | bool else [] }}"
|
|
|
|
- name: Copy server TLS certificates for Nova
|
|
vars:
|
|
certificates:
|
|
- servercert.pem
|
|
- serverkey.pem
|
|
copy:
|
|
src: "{{ kolla_nova_libvirt_certificates_src }}/{{ item }}"
|
|
dest: "{{ kolla_node_custom_config_path }}/nova/nova-libvirt/{{ item }}"
|
|
loop: "{{ certificates if kolla_enable_nova | bool and kolla_enable_nova_libvirt_container | bool and kolla_libvirt_tls | bool else [] }}"
|
|
|
|
# We support a fairly flexible mechanism of dropping config file templates into
|
|
# an 'extra' config directory, and passing these through to kolla-ansible. We
|
|
# look for matching files in the source directory to template, and also remove
|
|
# any unexpected files from the destination, to support removal of files.
|
|
|
|
- name: Collect details about custom config
|
|
kolla_custom_config_info:
|
|
destination: "{{ kolla_node_custom_config_path }}"
|
|
ignore_globs: "{{ _kolla_openstack_custom_config_cleanup_ignore_globs }}"
|
|
include_globs: "{{ kolla_openstack_custom_config_include_globs }}"
|
|
rules: "{{ kolla_openstack_custom_config_rules }}"
|
|
search_paths: "{{ kolla_openstack_custom_config_paths | product(['/kolla/config']) | map('join') | list }}"
|
|
register: kolla_custom_config_info
|
|
|
|
- name: Print kolla_custom_config_info when using -v
|
|
debug:
|
|
msg: "{{ kolla_custom_config_info }}"
|
|
verbosity: 1
|
|
|
|
- name: Ensure extra configuration parent directories are present
|
|
file:
|
|
path: "{{ item }}"
|
|
recurse: true
|
|
state: directory
|
|
with_items: "{{ kolla_custom_config_info.create_dir }}"
|
|
|
|
- name: "Ensure extra configuration files exist (strategy: template)"
|
|
vars:
|
|
params:
|
|
src: "{{ item.src }}"
|
|
dest: "{{ item.dest }}"
|
|
mode: 0640
|
|
template: "{{ params | combine(item.params) }}"
|
|
with_items: "{{ kolla_custom_config_info.template }}"
|
|
|
|
- name: "Ensure extra configuration files exist (strategy: copy)"
|
|
vars:
|
|
params:
|
|
src: "{{ item.src }}"
|
|
dest: "{{ item.dest }}"
|
|
mode: 0640
|
|
copy: "{{ params | combine(item.params) }}"
|
|
# NOTE: .copy is ambiguous with copy method
|
|
with_items: "{{ kolla_custom_config_info['copy'] }}"
|
|
|
|
- name: "Ensure extra configuration files exist (strategy: merge_configs)"
|
|
vars:
|
|
params:
|
|
sources: "{{ item.sources }}"
|
|
dest: "{{ item.dest }}"
|
|
mode: 0640
|
|
merge_configs: "{{ params | combine(item.params) }}"
|
|
with_items: "{{ kolla_custom_config_info.merge_configs }}"
|
|
|
|
- name: "Ensure extra configuration files exist (strategy: merge_yaml)"
|
|
vars:
|
|
params:
|
|
sources: "{{ item.sources }}"
|
|
dest: "{{ item.dest }}"
|
|
mode: 0640
|
|
merge_yaml: "{{ params | combine(item.params) }}"
|
|
with_items: "{{ kolla_custom_config_info.merge_yaml }}"
|
|
|
|
- name: "Ensure extra configuration files exist (strategy: concat)"
|
|
vars:
|
|
params:
|
|
content: |
|
|
{%- for path in item.sources -%}
|
|
{{ lookup('template', path) }}
|
|
{%- endfor -%}
|
|
dest: "{{ item.dest }}"
|
|
mode: 0640
|
|
copy: "{{ params | combine(item.params) }}"
|
|
with_items: "{{ kolla_custom_config_info.concat }}"
|
|
|
|
- name: Ensure unnecessary extra configuration files are absent
|
|
file:
|
|
path: "{{ item }}"
|
|
state: absent
|
|
with_items: "{{ kolla_custom_config_info.delete }}"
|