4896031757
A small number of services set the recurse flag when they create their config directory. This can change permission of files within the directory, which are later set back to the original state. The side effect is that the service is then restarted, even though the net change to the config files amounts to nothing. The expected behaviour is that a service only restarts if the config *has* changed. This patch fixes this issue. Change-Id: Ib6f1ca7b416247f8d455fb25892f4a3b27de03ba Closes-Bug: 1800480
78 lines
2.3 KiB
YAML
78 lines
2.3 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: "{{ zookeeper_services }}"
|
|
|
|
- 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: zookeeper_config_jsons
|
|
when:
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ zookeeper_services }}"
|
|
notify:
|
|
- Restart zookeeper container
|
|
|
|
- name: Copying over zookeeper configuration
|
|
merge_configs:
|
|
sources:
|
|
- "{{ role_path }}/templates/{{ item.key }}.cfg.j2"
|
|
- "{{ node_custom_config }}/{{ item.key }}.cfg"
|
|
- "{{ node_custom_config }}/{{ item.key }}/{{ inventory_hostname }}/{{ item.key }}.cfg"
|
|
dest: "{{ node_config_directory }}/{{ item.key }}/{{ item.key }}.cfg"
|
|
mode: "0660"
|
|
become: true
|
|
register: zookeeper_confs
|
|
when:
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ zookeeper_services }}"
|
|
notify:
|
|
- Restart zookeeper container
|
|
|
|
- name: Copying over zookeeper instance id
|
|
template:
|
|
src: "myid.j2"
|
|
dest: "{{ node_config_directory }}/{{ item.key }}/myid"
|
|
mode: "0660"
|
|
become: true
|
|
register: zookeeper_instance_id
|
|
when:
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ zookeeper_services }}"
|
|
notify:
|
|
- Restart zookeeper container
|
|
|
|
- name: Check zookeeper 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 }}"
|
|
environment: "{{ item.value.environment }}"
|
|
dimensions: "{{ item.value.dimensions }}"
|
|
register: check_zookeeper_containers
|
|
when:
|
|
- kolla_action != "config"
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ zookeeper_services }}"
|
|
notify:
|
|
- Restart zookeeper container
|