kolla-ansible/ansible/roles/trove/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

123 lines
3.8 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: "{{ trove_services }}"
- name: Check if policies shall be overwritten
local_action: stat path="{{ item }}"
run_once: True
register: trove_policy
with_first_found:
- files: "{{ supported_policy_format_list }}"
paths:
- "{{ node_custom_config }}/trove/"
skip: true
- name: Set trove policy file
set_fact:
trove_policy_file: "{{ trove_policy.results.0.stat.path | basename }}"
trove_policy_file_path: "{{ trove_policy.results.0.stat.path }}"
when:
- trove_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: trove_config_jsons
when:
- inventory_hostname in groups[item.value.group]
- item.value.enabled | bool
with_dict: "{{ trove_services }}"
notify:
- "Restart {{ item.key }} container"
- name: Copying over trove conf files
vars:
services_need_confs:
- trove-conductor
- trove-taskmanager
merge_configs:
sources:
- "{{ role_path }}/templates/{{ item.key }}.conf.j2"
- "{{ node_custom_config }}/global.conf"
- "{{ node_custom_config }}/{{ item.key }}.conf"
- "{{ node_custom_config }}/trove/{{ item.key }}.conf"
- "{{ node_custom_config }}/trove/{{ inventory_hostname }}/{{ item.key }}.conf"
dest: "{{ node_config_directory }}/{{ item.key }}/{{ item.key }}.conf"
mode: "0660"
become: true
register: trove_confs
when:
- item.key in services_need_confs
- inventory_hostname in groups[item.value.group]
- item.value.enabled | bool
with_dict: "{{ trove_services }}"
notify:
- "Restart {{ item.key }} container"
- name: Copying over trove.conf
vars:
service_name: "{{ item.key }}"
merge_configs:
sources:
- "{{ role_path }}/templates/trove.conf.j2"
- "{{ node_custom_config }}/global.conf"
- "{{ node_custom_config }}/trove.conf"
- "{{ node_custom_config }}/trove/{{ item.key }}.conf"
- "{{ node_custom_config }}/trove/{{ inventory_hostname }}/trove.conf"
dest: "{{ node_config_directory }}/{{ item.key }}/trove.conf"
mode: "0660"
become: true
register: trove_confs
when:
- inventory_hostname in groups[item.value.group]
- item.value.enabled | bool
with_dict: "{{ trove_services }}"
notify:
- "Restart {{ item.key }} container"
- name: Copying over existing policy file
template:
src: "{{ trove_policy_file_path }}"
dest: "{{ node_config_directory }}/{{ item.key }}/{{ trove_policy_file }}"
mode: "0660"
register: trove_policy_overwriting
when:
- trove_policy_file is defined
- inventory_hostname in groups[item.value.group]
with_dict: "{{ trove_services }}"
notify:
- Restart trove-api container
- Restart trove-conductor container
- Restart trove-taskmanager container
- name: Check trove containers
become: true
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 }}"
dimensions: "{{ item.value.dimensions }}"
register: check_trove_containers
when:
- kolla_action != "config"
- inventory_hostname in groups[item.value.group]
- item.value.enabled | bool
with_dict: "{{ trove_services }}"
notify:
- "Restart {{ item.key }} container"