aboutsummaryrefslogtreecommitdiff
path: root/kolla/docker/glance/glance-api
diff options
context:
space:
mode:
Diffstat (limited to 'kolla/docker/glance/glance-api')
-rw-r--r--kolla/docker/glance/glance-api/Dockerfile.j238
-rw-r--r--kolla/docker/glance/glance-api/extend_start.sh27
2 files changed, 65 insertions, 0 deletions
diff --git a/kolla/docker/glance/glance-api/Dockerfile.j2 b/kolla/docker/glance/glance-api/Dockerfile.j2
new file mode 100644
index 000000000..e3efbfef3
--- /dev/null
+++ b/kolla/docker/glance/glance-api/Dockerfile.j2
@@ -0,0 +1,38 @@
+FROM {{ namespace }}/{{ image_prefix }}glance-base:{{ tag }}
+{% block labels %}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}"
+{% endblock %}
+
+{% block glance_api_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{% if base_package_type == 'rpm' %}
+ {% set glance_api_packages = [
+ 'lsscsi',
+ 'device-mapper-multipath',
+ 'nvme-cli',
+ 'qemu-img',
+ 'systemd-udev'
+ ] %}
+{% elif base_package_type == 'deb' %}
+ {% set glance_api_packages = [
+ 'lsscsi',
+ 'multipath-tools',
+ 'nfs-common',
+ 'nvme-cli',
+ 'qemu-utils'
+ ] %}
+{% endif %}
+
+{{ macros.install_packages(glance_api_packages | customizable("packages")) }}
+
+COPY extend_start.sh /usr/local/bin/kolla_glance_extend_start
+RUN chmod 644 /usr/local/bin/kolla_glance_extend_start
+
+{{ macros.kolla_patch_sources() }}
+
+{% block glance_api_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+
+USER glance
diff --git a/kolla/docker/glance/glance-api/extend_start.sh b/kolla/docker/glance/glance-api/extend_start.sh
new file mode 100644
index 000000000..3363539a5
--- /dev/null
+++ b/kolla/docker/glance/glance-api/extend_start.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+# Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases
+# of the KOLLA_BOOTSTRAP variable being set, including empty.
+if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
+ glance-manage db_sync
+ glance-manage db_load_metadefs
+ exit 0
+fi
+
+# Migrate database and exit if KOLLA_UPGRADE variable is set. This catches all cases
+# of the KOLLA_UPGRADE variable being set, including empty.
+if [[ "${!KOLLA_UPGRADE[@]}" ]]; then
+ if [[ "${!GLANCE_DB_EXPAND[@]}" ]]; then
+ echo "Expanding database"
+ glance-manage db expand
+ fi
+ if [[ "${!GLANCE_DB_MIGRATE[@]}" ]]; then
+ echo "Migrating database"
+ glance-manage db migrate
+ fi
+ if [[ "${!GLANCE_DB_CONTRACT[@]}" ]]; then
+ echo "Contracting database"
+ glance-manage db contract
+ fi
+ exit 0
+fi