From 4fde486dc8b29b8d087ab4bfff0e626b2479abd2 Mon Sep 17 00:00:00 2001 From: Paul Bourke Date: Wed, 22 Mar 2017 13:14:37 +0000 Subject: [PATCH] Only start one glance_api when using file backend The default backend storage for Glance in Kolla is file, as this is the easiest to deploy. However, this leads to frustration in a multinode scenario as the volumes aren't shared. This change sets glance_api to only start on one control node when using the file backend. DocImpact Closes-Bug: #1681301 Change-Id: I2c167bae6f34a102cd7fe66401d7defe13bf2bf7 --- ansible/roles/glance/defaults/main.yml | 2 ++ ansible/roles/glance/handlers/main.yml | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ansible/roles/glance/defaults/main.yml b/ansible/roles/glance/defaults/main.yml index 139825d34a..45aabcff30 100644 --- a/ansible/roles/glance/defaults/main.yml +++ b/ansible/roles/glance/defaults/main.yml @@ -69,6 +69,8 @@ glance_backends: glance_store_backends: "{{ glance_backends|selectattr('enabled', 'equalto', true)|list }}" +glance_api_hosts: "{{ groups['glance-api']|first if glance_backend_file | bool and glance_file_datadir_volume == 'glance' else groups['glance-api'] }}" + #################### # OpenStack #################### diff --git a/ansible/roles/glance/handlers/main.yml b/ansible/roles/glance/handlers/main.yml index c914190cb6..328494e8e9 100644 --- a/ansible/roles/glance/handlers/main.yml +++ b/ansible/roles/glance/handlers/main.yml @@ -15,14 +15,13 @@ volumes: "{{ service.volumes }}" when: - action != "config" - - inventory_hostname in groups[service.group] + - inventory_hostname in glance_api_hosts - service.enabled | bool - config_json.changed | bool or glance_conf.changed | bool or policy_json.changed | bool or glance_api_container.changed | bool - - name: Restart glance-registry container vars: service_name: "glance-registry"