a3dfdfc085
Actually Openstack services configuration can be overriden using many files: - /etc/kolla/config/<< service name >>/<< config file >> - /etc/kolla/config/<< service name >>/<<host>>/<< config file >> - /etc/kolla/config/global.conf - /etc/kolla/config/database.conf - /etc/kolla/config/messaging.conf Only per-service configuration is actually documented here: https://github.com/openstack/kolla-ansible/blob/master/doc/advanced-configuration.rst#L164 Allowing to globally modify service configuration can be perform too, but it can be done in 3 different manners, all not documented: - /etc/kolla/config/global.conf - /etc/kolla/config/database.conf - /etc/kolla/config/messaging.conf database.conf and messaging.conf seems redundant with global.conf. In order to simplify codebase it seems logical to remove them. Documentation has been added for overriding configuration globally and release note has been added too. Closes-Bug: #1682479 Change-Id: I5d922dfc0d938173bad34ac64e490b78db1b7e31
104 lines
3.3 KiB
YAML
104 lines
3.3 KiB
YAML
---
|
|
- 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 }}/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 }}/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"
|
|
when: inventory_hostname in groups['ironic-inspector']
|
|
|
|
- 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"
|
|
when:
|
|
# Only required when Ironic inspector is in use.
|
|
- groups['ironic-inspector'] | length > 0
|
|
- inventory_hostname in groups['ironic-pxe']
|
|
|
|
- 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:
|
|
# Only required when Ironic inspector is in use.
|
|
- groups['ironic-inspector'] | length > 0
|
|
- inventory_hostname in groups['ironic-pxe']
|
|
|
|
- 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
|