242625dff4
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
132 lines
3.9 KiB
YAML
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
|