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
122 lines
4.2 KiB
YAML
122 lines
4.2 KiB
YAML
---
|
|
- name: Ensuring config directories exist
|
|
file:
|
|
path: "{{ node_config_directory }}/{{ item.key }}"
|
|
state: "directory"
|
|
recurse: yes
|
|
when:
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ cinder_services }}"
|
|
|
|
- name: Copying over config.json files for services
|
|
template:
|
|
src: "{{ item.key }}.json.j2"
|
|
dest: "{{ node_config_directory }}/{{ item.key }}/config.json"
|
|
register: cinder_config_jsons
|
|
when:
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ cinder_services }}"
|
|
notify:
|
|
- Restart cinder-api container
|
|
- Restart cinder-scheduler container
|
|
- Restart cinder-volume container
|
|
- Restart cinder-backup container
|
|
|
|
- name: Copying over cinder-wsgi.conf
|
|
vars:
|
|
service: "{{ cinder_services['cinder-api'] }}"
|
|
template:
|
|
src: "{{ item }}"
|
|
dest: "{{ node_config_directory }}/cinder-api/cinder-wsgi.conf"
|
|
with_first_found:
|
|
- "{{ node_custom_config }}/cinder/{{ inventory_hostname }}/cinder-wsgi.conf"
|
|
- "{{ node_custom_config }}/cinder/cinder-wsgi.conf"
|
|
- "cinder-wsgi.conf.j2"
|
|
register: wsgi_cinder_api
|
|
when:
|
|
- inventory_hostname in groups[service.group]
|
|
- service.enabled | bool
|
|
notify:
|
|
- Restart cinder-api container
|
|
|
|
- name: Copying over cinder.conf
|
|
vars:
|
|
service_name: "{{ item.key }}"
|
|
merge_configs:
|
|
sources:
|
|
- "{{ role_path }}/templates/cinder.conf.j2"
|
|
- "{{ node_custom_config }}/global.conf"
|
|
- "{{ node_custom_config }}/cinder.conf"
|
|
- "{{ node_custom_config }}/cinder/{{ item.key }}.conf"
|
|
- "{{ node_custom_config }}/cinder/{{ inventory_hostname }}/cinder.conf"
|
|
dest: "{{ node_config_directory }}/{{ item.key }}/cinder.conf"
|
|
register: cinder_confs
|
|
when:
|
|
- item.value.enabled | bool
|
|
- inventory_hostname in groups[item.value.group]
|
|
with_dict: "{{ cinder_services }}"
|
|
notify:
|
|
- Restart cinder-api container
|
|
- Restart cinder-scheduler container
|
|
- Restart cinder-volume container
|
|
- Restart cinder-backup container
|
|
|
|
- name: Check if policies shall be overwritten
|
|
local_action: stat path="{{ node_custom_config }}/cinder/policy.json"
|
|
run_once: True
|
|
register: cinder_policy
|
|
|
|
- name: Copying over existing policy.json
|
|
template:
|
|
src: "{{ node_custom_config }}/cinder/policy.json"
|
|
dest: "{{ node_config_directory }}/{{ item.key }}/policy.json"
|
|
register: cinder_policy_jsons
|
|
when:
|
|
- cinder_policy.stat.exists
|
|
- inventory_hostname in groups[item.value.group]
|
|
with_dict: "{{ cinder_services }}"
|
|
notify:
|
|
- Restart cinder-api container
|
|
- Restart cinder-scheduler container
|
|
- Restart cinder-volume container
|
|
- Restart cinder-backup container
|
|
|
|
- name: Copying over nfs_shares files for cinder_volume
|
|
template:
|
|
src: "{{ item }}"
|
|
dest: "{{ node_config_directory }}/cinder-volume/nfs_shares"
|
|
with_first_found:
|
|
- files:
|
|
- "{{ node_custom_config }}/nfs_shares.j2"
|
|
- "{{ node_custom_config }}/cinder/nfs_shares.j2"
|
|
- "{{ node_custom_config }}/cinder/cinder-volume/nfs_shares.j2"
|
|
- "{{ node_custom_config }}/cinder/{{ inventory_hostname }}/nfs_shares.j2"
|
|
- "{{ node_custom_config }}/nfs_shares"
|
|
- "{{ node_custom_config }}/cinder/nfs_shares"
|
|
- "{{ node_custom_config }}/cinder/cinder-volume/nfs_shares"
|
|
- "{{ node_custom_config }}/cinder/{{ inventory_hostname }}/nfs_shares"
|
|
skip: "{{ not enable_cinder_backend_nfs | bool and not enable_cinder_backend_hnas_nfs | bool }}"
|
|
|
|
- name: Check cinder containers
|
|
kolla_docker:
|
|
action: "compare_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
name: "{{ item.value.container_name }}"
|
|
image: "{{ item.value.image }}"
|
|
volumes: "{{ item.value.volumes | reject('equalto', '') | list }}"
|
|
privileged: "{{ item.value.privileged | default(False) }}"
|
|
ipc_mode: "{{ item.value.ipc_mode | default('') }}"
|
|
register: check_cinder_containers
|
|
when:
|
|
- action != "config"
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ cinder_services }}"
|
|
notify:
|
|
- Restart cinder-api container
|
|
- Restart cinder-scheduler container
|
|
- Restart cinder-volume container
|
|
- Restart cinder-backup container
|