kolla-ansible/ansible/roles/gnocchi/tasks/config.yml
Mark Goddard 242625dff4 Generate Ceph configuration during upgrade
If upgrading the nova, cinder or manila services via 'kolla-ansible
upgrade', the Ceph config files are not generated. Users will expect
that these files are generated, to pull in any changes from their
configuration or the base kolla configuration.

This change moves Ceph tasks inside config.yml to ensure that they are
performed during deploy, reconfigure and upgrade. This has been done for
nova, cinder, gnocchi and manila - glance already does this.

Change-Id: Ic75692c2bcba9b81dee922ff6fbbccd160e7fa19
Closes-Bug: #1794275
2018-10-10 10:48:55 +01:00

132 lines
3.9 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: "{{ gnocchi_services }}"
- include_tasks: ceph.yml
when:
- enable_ceph | bool
- gnocchi_backend_storage == 'ceph'
- include_tasks: external_ceph.yml
when:
- enable_ceph | bool == False
- gnocchi_backend_storage == 'ceph'
- name: Check if policies shall be overwritten
local_action: stat path="{{ item }}"
run_once: True
register: gnocchi_policy
with_first_found:
- files: "{{ supported_policy_format_list }}"
paths:
- "{{ node_custom_config }}/gnocchi/"
skip: true
- name: Set gnocchi policy file
set_fact:
gnocchi_policy_file: "{{ gnocchi_policy.results.0.stat.path | basename }}"
gnocchi_policy_file_path: "{{ gnocchi_policy.results.0.stat.path }}"
when:
- gnocchi_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: gnocchi_config_jsons
when:
- item.value.enabled | bool
- inventory_hostname in groups[item.value.group]
with_dict: "{{ gnocchi_services }}"
notify:
- Restart gnocchi-api container
- Restart gnocchi-metricd container
- Restart gnocchi-statsd container
- name: Copying over gnocchi.conf
vars:
service_name: "{{ item.key }}"
merge_configs:
sources:
- "{{ role_path }}/templates/gnocchi.conf.j2"
- "{{ node_custom_config }}/global.conf"
- "{{ node_custom_config }}/gnocchi.conf"
- "{{ node_custom_config }}/gnocchi/{{ item.key }}.conf"
- "{{ node_custom_config }}/gnocchi/{{ inventory_hostname }}/gnocchi.conf"
dest: "{{ node_config_directory }}/{{ item.key }}/gnocchi.conf"
mode: "0660"
become: true
register: gnocchi_confs
when:
- item.value.enabled | bool
- inventory_hostname in groups[item.value.group]
with_dict: "{{ gnocchi_services }}"
notify:
- Restart gnocchi-api container
- Restart gnocchi-metricd container
- Restart gnocchi-statsd container
- name: Copying over wsgi-gnocchi.conf
vars:
service: "{{ gnocchi_services['gnocchi-api'] }}"
template:
src: "wsgi-gnocchi.conf.j2"
dest: "{{ node_config_directory }}/{{ item }}/wsgi-gnocchi.conf"
mode: "0660"
become: true
register: gnocchi_wsgi_conf
when:
- inventory_hostname in groups['gnocchi-api']
- service.enabled | bool
with_items:
- "gnocchi-api"
notify:
- Restart gnocchi-api container
- name: Copying over existing policy file
template:
src: "{{ gnocchi_policy_file_path }}"
dest: "{{ node_config_directory }}/{{ item.key }}/{{ gnocchi_policy_file }}"
register: gnocchi_policy_overwriting
when:
- gnocchi_policy_file is defined
- inventory_hostname in groups[item.value.group]
- item.value.enabled | bool
with_dict: "{{ gnocchi_services }}"
notify:
- Restart gnocchi-api container
- Restart gnocchi-metricd container
- Restart gnocchi-statsd container
- name: Check gnocchi 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 }}"
dimensions: "{{ item.value.dimensions }}"
register: check_gnocchi_containers
when:
- kolla_action != "config"
- inventory_hostname in groups[item.value.group]
- item.value.enabled | bool
with_dict: "{{ gnocchi_services }}"
notify:
- Restart gnocchi-api container
- Restart gnocchi-metricd container
- Restart gnocchi-statsd container