kolla-ansible/ansible/roles/placement/tasks/config.yml
Mark Goddard a4bb8567da Fix up config file permissions on the host
Several config file permissions are incorrect on the host. In general,
files should be 0660, and directories and executables 0770.

Change-Id: Id276ac1864f280554e98b937f2845bb424d521de
Closes-Bug: #1821579
2019-04-02 17:23:31 +01:00

128 lines
4.0 KiB
YAML

---
- name: Ensuring config directories exist
become: true
file:
path: "{{ node_config_directory }}/{{ item.key }}"
state: "directory"
owner: "{{ config_owner_user }}"
group: "{{ config_owner_group }}"
mode: "0770"
when:
- inventory_hostname in groups[item.value.group]
- item.value.enabled | bool
with_dict: "{{ placement_services }}"
- name: Check if policies shall be overwritten
local_action: stat path="{{ item }}"
run_once: True
register: placement_policy
with_first_found:
- files: "{{ supported_policy_format_list }}"
paths:
- "{{ node_custom_config }}/placement/"
skip: true
- name: Set placement policy file
set_fact:
placement_policy_file: "{{ placement_policy.results.0.stat.path | basename }}"
placement_policy_file_path: "{{ placement_policy.results.0.stat.path }}"
when:
- placement_policy.results
- name: Copying over config.json files for services
become: true
template:
src: "{{ item.key }}.json.j2"
dest: "{{ node_config_directory }}/{{ item.key }}/config.json"
mode: "0660"
when:
- inventory_hostname in groups[item.value.group]
- item.value.enabled | bool
with_dict: "{{ placement_services }}"
notify:
- "Restart {{ item.key }} container"
- name: Copying over placement.conf
become: true
vars:
service_name: "{{ item.key }}"
merge_configs:
sources:
- "{{ role_path }}/templates/placement.conf.j2"
- "{{ node_custom_config }}/global.conf"
- "{{ node_custom_config }}/placement.conf"
- "{{ node_custom_config }}/placement/{{ item.key }}.conf"
- "{{ node_custom_config }}/placement/{{ inventory_hostname }}/placement.conf"
dest: "{{ node_config_directory }}/{{ item.key }}/placement.conf"
mode: "0660"
when:
- inventory_hostname in groups[item.value.group]
- item.value.enabled | bool
with_dict: "{{ placement_services }}"
notify:
- "Restart {{ item.key }} container"
- name: Copying over placement-api wsgi configuration
become: true
vars:
service: "{{ placement_services['placement-api'] }}"
template:
src: "placement-api-wsgi.conf.j2"
dest: "{{ node_config_directory }}/placement-api/placement-api-wsgi.conf"
mode: "0660"
when:
- inventory_hostname in groups[service.group]
- service.enabled | bool
notify:
- Restart placement-api container
- name: Copying over migrate-db.rc.j2 configuration
become: true
vars:
service: "{{ placement_services['placement-api'] }}"
template:
src: "migrate-db.rc.j2"
dest: "{{ node_config_directory }}/placement-api/migrate-db.rc"
mode: "0660"
when:
- inventory_hostname in groups[service.group]
- service.enabled | bool
notify:
- Restart placement-api container
- name: Copying over existing policy file
become: true
template:
src: "{{ placement_policy_file_path }}"
dest: "{{ placement_config_directory }}/{{ item.key }}/{{ placement_policy_file }}"
mode: "0660"
when:
- inventory_hostname in groups[item.value.group]
- item.value.enabled | bool
- placement_policy_file is defined
with_dict: "{{ placement_services }}"
notify:
- "Restart {{ item.key }} container"
# check whether the containers parameter is changed. If yes, trigger the handler
- name: Check placement containers
become: true
kolla_docker:
action: "compare_container"
common_options: "{{ docker_common_options }}"
name: "{{ item.value.container_name }}"
image: "{{ item.value.image }}"
environment: "{{ item.value.environment|default(omit) }}"
pid_mode: "{{ item.value.pid_mode|default('') }}"
ipc_mode: "{{ item.value.ipc_mode|default(omit) }}"
privileged: "{{ item.value.privileged|default(False) }}"
volumes: "{{ item.value.volumes|reject('equalto', '')|list }}"
dimensions: "{{ item.value.dimensions }}"
when:
- kolla_action != "config"
- inventory_hostname in groups[item.value.group]
- item.value.enabled | bool
with_dict: "{{ placement_services }}"
notify:
- "Restart {{ item.key }} container"