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
84 lines
2.4 KiB
YAML
84 lines
2.4 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: "{{ storm_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: storm_config_jsons
|
|
when:
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ storm_services }}"
|
|
notify:
|
|
- "Restart {{ item.key }} container"
|
|
|
|
- name: Copying over storm worker config
|
|
vars:
|
|
service: "{{ storm_services['storm-worker'] }}"
|
|
template:
|
|
src: "{{ item }}"
|
|
dest: "{{ node_config_directory }}/storm-worker/storm.yml"
|
|
mode: "0660"
|
|
become: true
|
|
register: storm_worker_conf
|
|
with_first_found:
|
|
- "{{ node_custom_config }}/storm/{{ inventory_hostname }}/storm.yml"
|
|
- "{{ node_custom_config }}/storm.yml"
|
|
- "storm.yml.j2"
|
|
when:
|
|
- inventory_hostname in groups[service['group']]
|
|
- service.enabled | bool
|
|
notify:
|
|
- Restart storm-worker container
|
|
|
|
- name: Copying over storm nimbus config
|
|
vars:
|
|
service: "{{ storm_services['storm-nimbus'] }}"
|
|
template:
|
|
src: "{{ item }}"
|
|
dest: "{{ node_config_directory }}/storm-nimbus/storm.yml"
|
|
mode: "0660"
|
|
become: true
|
|
register: storm_nimbus_conf
|
|
with_first_found:
|
|
- "{{ node_custom_config }}/storm/{{ inventory_hostname }}/storm.yml"
|
|
- "{{ node_custom_config }}/storm.yml"
|
|
- "storm.yml.j2"
|
|
when:
|
|
- inventory_hostname in groups[service['group']]
|
|
- service.enabled | bool
|
|
notify:
|
|
- Restart storm-nimbus container
|
|
|
|
- name: Check storm containers
|
|
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_storm_containers
|
|
when:
|
|
- kolla_action != "config"
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ storm_services }}"
|
|
notify:
|
|
- "Restart {{ item.key }} container"
|