Mark Goddard 602f89baa6 Fix glance with file backend
Since https://review.opendev.org/647699/, we lost the logic to only
deploy glance-api on a single host when using the file backend.

This code was always a bit custom, and would be better supported by
using the 'host_in_groups' pattern we have in a few other places where a
single group name does not describe the placement of containers for a
service.

Change-Id: I21ce4a3b0beee0009ac69fecd0ce24efebaf158d
Closes-Bug: #1836151
2019-07-11 09:25:46 +01:00

144 lines
4.3 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:
- item.value.host_in_groups | bool
- item.value.enabled | bool
with_dict: "{{ glance_services }}"
- include_tasks: ceph.yml
when:
- enable_ceph | bool
- glance_backend_ceph | bool
- include_tasks: external_ceph.yml
when:
- not enable_ceph | bool
- glance_backend_ceph | bool
- name: Check if policies shall be overwritten
local_action: stat path="{{ item }}"
run_once: True
register: glance_policy
with_first_found:
- files: "{{ supported_policy_format_list }}"
paths:
- "{{ node_custom_config }}/glance/"
skip: true
- name: Set glance policy file
set_fact:
glance_policy_file: "{{ glance_policy.results.0.stat.path | basename }}"
glance_policy_file_path: "{{ glance_policy.results.0.stat.path }}"
when:
- glance_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
when:
- item.value.enabled | bool
- item.value.host_in_groups | bool
with_dict: "{{ glance_services }}"
notify:
- Restart {{ item.key }} container
- name: Copying over glance-*.conf
vars:
service_name: "{{ item.key }}"
merge_configs:
sources:
- "{{ role_path }}/templates/{{ item.key }}.conf.j2"
- "{{ node_custom_config }}/global.conf"
- "{{ node_custom_config }}/glance.conf"
- "{{ node_custom_config }}/glance/{{ item.key }}.conf"
- "{{ node_custom_config }}/glance/{{ inventory_hostname }}/{{ item.key }}.conf"
dest: "{{ node_config_directory }}/{{ item.key }}/{{ item.key }}.conf"
mode: "0660"
become: true
when:
- item.value.enabled | bool
- item.value.host_in_groups | bool
with_dict: "{{ glance_services }}"
notify:
- Restart {{ item.key }} container
- name: Copying over glance-cache.conf for glance_api
vars:
glance_api: "{{ glance_services['glance-api'] }}"
merge_configs:
sources:
- "{{ role_path }}/templates/glance-cache.conf.j2"
- "{{ node_custom_config }}/glance-cache.conf"
- "{{ node_custom_config }}/glance/glance-cache.conf"
- "{{ node_custom_config }}/glance/{{ inventory_hostname }}/glance-cache.conf"
dest: "{{ node_config_directory }}/glance-api/glance-cache.conf"
mode: "0660"
become: true
when:
- glance_api.enabled | bool
- glance_api.host_in_groups | bool
- enable_glance_image_cache | bool
notify:
- Restart glance-api container
- name: Copying over glance-swift.conf for glance_api
vars:
glance_api: "{{ glance_services['glance-api'] }}"
merge_configs:
sources:
- "{{ role_path }}/templates/glance-swift.conf.j2"
- "{{ node_custom_config }}/glance-swift.conf"
- "{{ node_custom_config }}/glance/glance-swift.conf"
- "{{ node_custom_config }}/glance/{{ inventory_hostname }}/glance-swift.conf"
dest: "{{ node_config_directory }}/glance-api/glance-swift.conf"
mode: "0660"
become: true
when:
- glance_api.enabled | bool
- glance_api.host_in_groups | bool
- glance_backend_swift | bool
notify:
- Restart glance-api container
- name: Copying over existing policy file
template:
src: "{{ glance_policy_file_path }}"
dest: "{{ node_config_directory }}/{{ item.key }}/{{ glance_policy_file }}"
mode: "0660"
become: true
when:
- glance_policy_file is defined
- item.value.host_in_groups | bool
- item.value.enabled | bool
with_dict: "{{ glance_services }}"
notify:
- Restart {{ item.key }} container
- name: Check glance containers
become: true
kolla_docker:
action: "compare_container"
common_options: "{{ docker_common_options }}"
name: "{{ item.value.container_name }}"
image: "{{ item.value.image }}"
environment: "{{ item.value.environment | default(omit) }}"
volumes: "{{ item.value.volumes|reject('equalto', '')|list }}"
dimensions: "{{ item.value.dimensions }}"
when:
- kolla_action != "config"
- item.value.host_in_groups | bool
- item.value.enabled | bool
with_dict: "{{ glance_services }}"
notify:
- Restart {{ item.key }} container