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
162 lines
5.4 KiB
YAML
162 lines
5.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: "{{ cinder_services }}"
|
|
|
|
- include_tasks: ceph.yml
|
|
when:
|
|
- (enable_ceph | bool) and (cinder_backend_ceph | bool)
|
|
- inventory_hostname in groups['ceph-mon'] or
|
|
inventory_hostname in groups['cinder-api'] or
|
|
inventory_hostname in groups['cinder-volume'] or
|
|
inventory_hostname in groups['cinder-scheduler'] or
|
|
inventory_hostname in groups['cinder-backup']
|
|
|
|
- include_tasks: external_ceph.yml
|
|
when:
|
|
- (enable_ceph | bool == False) and (cinder_backend_ceph | bool)
|
|
- inventory_hostname in groups['cinder-volume'] or
|
|
inventory_hostname in groups['cinder-backup']
|
|
|
|
- name: Check if policies shall be overwritten
|
|
local_action: stat path="{{ item }}"
|
|
run_once: True
|
|
register: cinder_policy
|
|
with_first_found:
|
|
- files: "{{ supported_policy_format_list }}"
|
|
paths:
|
|
- "{{ node_custom_config }}/cinder/"
|
|
skip: true
|
|
|
|
- name: Set cinder policy file
|
|
set_fact:
|
|
cinder_policy_file: "{{ cinder_policy.results.0.stat.path | basename }}"
|
|
cinder_policy_file_path: "{{ cinder_policy.results.0.stat.path }}"
|
|
when:
|
|
- cinder_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: cinder_config_jsons
|
|
when:
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ cinder_services }}"
|
|
notify:
|
|
- Restart cinder-api container
|
|
- Restart cinder-scheduler container
|
|
- Restart cinder-volume container
|
|
- Restart cinder-backup container
|
|
|
|
- name: Copying over cinder-wsgi.conf
|
|
vars:
|
|
service: "{{ cinder_services['cinder-api'] }}"
|
|
become: true
|
|
template:
|
|
src: "{{ item }}"
|
|
dest: "{{ node_config_directory }}/cinder-api/cinder-wsgi.conf"
|
|
with_first_found:
|
|
- "{{ node_custom_config }}/cinder/{{ inventory_hostname }}/cinder-wsgi.conf"
|
|
- "{{ node_custom_config }}/cinder/cinder-wsgi.conf"
|
|
- "cinder-wsgi.conf.j2"
|
|
register: wsgi_cinder_api
|
|
when:
|
|
- inventory_hostname in groups[service.group]
|
|
- service.enabled | bool
|
|
notify:
|
|
- Restart cinder-api container
|
|
|
|
- name: Copying over cinder.conf
|
|
vars:
|
|
service_name: "{{ item.key }}"
|
|
merge_configs:
|
|
sources:
|
|
- "{{ role_path }}/templates/cinder.conf.j2"
|
|
- "{{ node_custom_config }}/global.conf"
|
|
- "{{ node_custom_config }}/cinder.conf"
|
|
- "{{ node_custom_config }}/cinder/{{ item.key }}.conf"
|
|
- "{{ node_custom_config }}/cinder/{{ inventory_hostname }}/cinder.conf"
|
|
dest: "{{ node_config_directory }}/{{ item.key }}/cinder.conf"
|
|
mode: "0660"
|
|
become: true
|
|
register: cinder_confs
|
|
when:
|
|
- item.value.enabled | bool
|
|
- inventory_hostname in groups[item.value.group]
|
|
with_dict: "{{ cinder_services }}"
|
|
notify:
|
|
- Restart cinder-api container
|
|
- Restart cinder-scheduler container
|
|
- Restart cinder-volume container
|
|
- Restart cinder-backup container
|
|
|
|
- name: Copying over existing policy file
|
|
become: true
|
|
template:
|
|
src: "{{ cinder_policy_file_path }}"
|
|
dest: "{{ node_config_directory }}/{{ item.key }}/{{ cinder_policy_file }}"
|
|
register: cinder_policy_overwriting
|
|
when:
|
|
- cinder_policy_file is defined
|
|
- inventory_hostname in groups[item.value.group]
|
|
with_dict: "{{ cinder_services }}"
|
|
notify:
|
|
- Restart cinder-api container
|
|
- Restart cinder-scheduler container
|
|
- Restart cinder-volume container
|
|
- Restart cinder-backup container
|
|
|
|
- name: Copying over nfs_shares files for cinder_volume
|
|
become: true
|
|
template:
|
|
src: "{{ item }}"
|
|
dest: "{{ node_config_directory }}/cinder-volume/nfs_shares"
|
|
with_first_found:
|
|
- files:
|
|
- "{{ node_custom_config }}/nfs_shares.j2"
|
|
- "{{ node_custom_config }}/cinder/nfs_shares.j2"
|
|
- "{{ node_custom_config }}/cinder/cinder-volume/nfs_shares.j2"
|
|
- "{{ node_custom_config }}/cinder/{{ inventory_hostname }}/nfs_shares.j2"
|
|
- "{{ node_custom_config }}/nfs_shares"
|
|
- "{{ node_custom_config }}/cinder/nfs_shares"
|
|
- "{{ node_custom_config }}/cinder/cinder-volume/nfs_shares"
|
|
- "{{ node_custom_config }}/cinder/{{ inventory_hostname }}/nfs_shares"
|
|
skip: "{{ not enable_cinder_backend_nfs | bool and not enable_cinder_backend_hnas_nfs | bool }}"
|
|
when: inventory_hostname in groups['cinder-volume']
|
|
|
|
- name: Check cinder 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 | reject('equalto', '') | list }}"
|
|
dimensions: "{{ item.value.dimensions }}"
|
|
privileged: "{{ item.value.privileged | default(False) }}"
|
|
ipc_mode: "{{ item.value.ipc_mode | default('') }}"
|
|
register: check_cinder_containers
|
|
when:
|
|
- kolla_action != "config"
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ cinder_services }}"
|
|
notify:
|
|
- Restart cinder-api container
|
|
- Restart cinder-scheduler container
|
|
- Restart cinder-volume container
|
|
- Restart cinder-backup container
|