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

140 lines
4.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: "{{ manila_services }}"
- include_tasks: ceph.yml
when:
- enable_ceph | bool
- enable_ceph_mds | bool
- (enable_manila_backend_cephfs_native | bool) or (enable_manila_backend_cephfs_nfs | bool)
- inventory_hostname in groups['manila-share']
- include_tasks: external_ceph.yml
when:
- enable_ceph| bool == False
- enable_ceph_mds| bool == False
- (enable_manila_backend_cephfs_native | bool) or (enable_manila_backend_cephfs_nfs | bool)
- inventory_hostname in groups['manila-share']
- name: Check if policies shall be overwritten
local_action: stat path="{{ item }}"
run_once: True
register: manila_policy
with_first_found:
- files: "{{ supported_policy_format_list }}"
paths:
- "{{ node_custom_config }}/manila/"
skip: true
- name: Set manila policy file
set_fact:
manila_policy_file: "{{ manila_policy.results.0.stat.path | basename }}"
manila_policy_file_path: "{{ manila_policy.results.0.stat.path }}"
when:
- manila_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: manila_config_jsons
when:
- inventory_hostname in groups[item.value.group]
- item.value.enabled | bool
with_dict: "{{ manila_services }}"
notify:
- "Restart {{ item.key }} container"
- name: Copying over manila.conf
vars:
service_name: "{{ item.key }}"
merge_configs:
sources:
- "{{ role_path }}/templates/manila.conf.j2"
- "{{ node_custom_config }}/global.conf"
- "{{ node_custom_config }}/manila.conf"
- "{{ node_custom_config }}/manila/{{ item.key }}.conf"
- "{{ node_custom_config }}/manila/{{ inventory_hostname }}/manila.conf"
dest: "{{ node_config_directory }}/{{ item.key }}/manila.conf"
mode: "0660"
become: true
register: manila_confs
when:
- item.key in [ "manila-api", "manila-data", "manila-scheduler" ]
- inventory_hostname in groups[item.value.group]
- item.value.enabled | bool
with_dict: "{{ manila_services }}"
notify:
- Restart manila-api container
- Restart manila-data container
- Restart manila-scheduler container
- name: Copying over manila-share.conf
vars:
service: "{{ manila_services['manila-share'] }}"
service_name: "{{ item }}"
merge_configs:
sources:
- "{{ role_path }}/templates/manila.conf.j2"
- "{{ role_path }}/templates/manila-share.conf.j2"
- "{{ node_custom_config }}/global.conf"
- "{{ node_custom_config }}/manila.conf"
- "{{ node_custom_config }}/{{ item }}.conf"
- "{{ node_custom_config }}/manila/{{ item }}.conf"
- "{{ node_custom_config }}/manila/{{ inventory_hostname }}/manila.conf"
dest: "{{ node_config_directory }}/{{ item }}/manila.conf"
mode: "0660"
become: true
register: manila_conf_share
when:
- inventory_hostname in groups[service.group]
- service.enabled | bool
with_items:
- "manila-share"
notify:
- Restart manila-share container
- name: Copying over existing policy file
template:
src: "{{ manila_policy_file_path }}"
dest: "{{ node_config_directory }}/{{ item.key }}/{{ manila_policy_file }}"
register: manila_policy_overwriting
when:
- manila_policy_file is defined
- inventory_hostname in groups[item.value.group]
- item.value.enabled | bool
with_dict: "{{ manila_services }}"
notify:
- "Restart {{ item.key }} container"
- name: Check manila containers
become: true
kolla_docker:
action: "compare_container"
common_options: "{{ docker_common_options }}"
name: "{{ item.value.container_name }}"
image: "{{ item.value.image }}"
privileged: "{{ item.value.privileged|default(False) }}"
volumes: "{{ item.value.volumes|reject('equalto', '')|list }}"
dimensions: "{{ item.value.dimensions }}"
register: check_manila_containers
when:
- kolla_action != "config"
- inventory_hostname in groups[item.value.group]
- item.value.enabled | bool
with_dict: "{{ manila_services }}"
notify:
- "Restart {{ item.key }} container"