aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Bourke <paul.bourke@oracle.com>2015-11-16 17:53:46 +0000
committerPaul Bourke <paul.bourke@oracle.com>2015-11-17 09:42:39 +0000
commit988c4f23f10b8c844c8a8123187391ab992d1fa7 (patch)
tree79d7b390710f3414f0c355f466f714a202ef8b3d
parentac0442a880bb440f7955b548740215617ea23f22 (diff)
downloadkolla-988c4f23f10b8c844c8a8123187391ab992d1fa7.tar.gz
kolla-988c4f23f10b8c844c8a8123187391ab992d1fa7.zip
Fix issues in Glance filesystem backend
The drop root change for Glance highlighted the fact that we were binding volumes from glance_data into the wrong container - it was glance_registry whereas it should be glance_api. This would result in all images being lost if the glance_api container happens to restart. Also, we need a sudoers file to chown the file backend dir to the glance user. Change-Id: If04337045bb94b3126e48d1f5bf0ea29e20373ae Closes-Bug: #1516729
-rw-r--r--ansible/roles/glance/tasks/start.yml4
-rw-r--r--docker/glance/glance-api/extend_start.sh1
-rw-r--r--docker/glance/glance-base/Dockerfile.j26
-rw-r--r--docker/glance/glance-base/glance_sudoers1
4 files changed, 9 insertions, 3 deletions
diff --git a/ansible/roles/glance/tasks/start.yml b/ansible/roles/glance/tasks/start.yml
index a28e3f3b1..80be58c2b 100644
--- a/ansible/roles/glance/tasks/start.yml
+++ b/ansible/roles/glance/tasks/start.yml
@@ -16,8 +16,6 @@
volumes:
- "{{ node_config_directory }}/glance-registry/:{{ container_config_directory }}/:ro"
- "/var/lib/kolla/dev/log:/dev/log"
- volumes_from:
- - glance_data
env:
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
when: inventory_hostname in groups['glance-registry']
@@ -39,6 +37,8 @@
volumes:
- "{{ node_config_directory }}/glance-api/:{{ container_config_directory }}/:ro"
- "/var/lib/kolla/dev/log:/dev/log"
+ volumes_from:
+ - glance_data
env:
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
when: inventory_hostname in groups['glance-api']
diff --git a/docker/glance/glance-api/extend_start.sh b/docker/glance/glance-api/extend_start.sh
index 6f3cab830..4b99201c9 100644
--- a/docker/glance/glance-api/extend_start.sh
+++ b/docker/glance/glance-api/extend_start.sh
@@ -4,5 +4,6 @@
# of the KOLLA_BOOTSTRAP variable being set, including empty.
if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
glance-manage db_sync
+ sudo chown -R glance: /var/lib/glance/
exit 0
fi
diff --git a/docker/glance/glance-base/Dockerfile.j2 b/docker/glance/glance-base/Dockerfile.j2
index 447c2d5b9..8f0cadfeb 100644
--- a/docker/glance/glance-base/Dockerfile.j2
+++ b/docker/glance/glance-base/Dockerfile.j2
@@ -44,4 +44,8 @@ RUN ln -s glance-base-source/* glance \
{% endif %}
-RUN usermod -a -G kolla glance
+COPY glance_sudoers /etc/sudoers.d/glance_sudoers
+
+RUN usermod -a -G kolla glance \
+ && chmod 750 /etc/sudoers.d \
+ && chmod 440 /etc/sudoers.d/glance_sudoers
diff --git a/docker/glance/glance-base/glance_sudoers b/docker/glance/glance-base/glance_sudoers
new file mode 100644
index 000000000..ffb536abf
--- /dev/null
+++ b/docker/glance/glance-base/glance_sudoers
@@ -0,0 +1 @@
+%kolla ALL=(root) NOPASSWD: /usr/bin/chown -R glance\: /var/lib/glance/, /bin/chown -R glance\: /var/lib/glance/