aboutsummaryrefslogtreecommitdiff
path: root/docker/common
diff options
context:
space:
mode:
Diffstat (limited to 'docker/common')
-rwxr-xr-xdocker/common/glance/glance-api/config-external.sh10
-rwxr-xr-xdocker/common/glance/glance-api/config-internal.sh53
-rwxr-xr-xdocker/common/glance/glance-api/start.sh56
-rwxr-xr-xdocker/common/glance/glance-registry/config-external.sh10
-rwxr-xr-xdocker/common/glance/glance-registry/config-internal.sh26
-rwxr-xr-xdocker/common/glance/glance-registry/start.sh32
6 files changed, 120 insertions, 67 deletions
diff --git a/docker/common/glance/glance-api/config-external.sh b/docker/common/glance/glance-api/config-external.sh
new file mode 100755
index 000000000..ce5411738
--- /dev/null
+++ b/docker/common/glance/glance-api/config-external.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+SOURCE="/opt/kolla/glance-api/glance-api.conf"
+TARGET="/etc/glance/glance-api.conf"
+OWNER="glance"
+
+if [[ -f "$SOURCE" ]]; then
+ cp $SOURCE $TARGET
+ chown ${OWNER}: $TARGET
+ chmod 0644 $TARGET
+fi
diff --git a/docker/common/glance/glance-api/config-internal.sh b/docker/common/glance/glance-api/config-internal.sh
new file mode 100755
index 000000000..9140afbf1
--- /dev/null
+++ b/docker/common/glance/glance-api/config-internal.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+set -e
+
+. /opt/kolla/kolla-common.sh
+. /opt/kolla/config-glance.sh
+
+check_required_vars ADMIN_TENANT_NAME GLANCE_API_SERVICE_HOST \
+ GLANCE_KEYSTONE_PASSWORD GLANCE_KEYSTONE_USER \
+ GLANCE_REGISTRY_SERVICE_HOST KEYSTONE_ADMIN_SERVICE_HOST \
+ KEYSTONE_ADMIN_SERVICE_PORT KEYSTONE_ADMIN_TOKEN \
+ KEYSTONE_AUTH_PROTOCOL PUBLIC_IP \
+ RABBITMQ_SERVICE_HOST
+
+fail_unless_os_service_running keystone
+
+export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}"
+export SERVICE_ENDPOINT="${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONE_ADMIN_SERVICE_HOST}:${KEYSTONE_ADMIN_SERVICE_PORT}/v2.0"
+
+crux user-create --update \
+ -n "${GLANCE_KEYSTONE_USER}" \
+ -p "${GLANCE_KEYSTONE_PASSWORD}" \
+ -t "${ADMIN_TENANT_NAME}" \
+ -r admin
+
+crux endpoint-create --remove-all \
+ -n glance -t image \
+ -I "http://${GLANCE_API_SERVICE_HOST}:9292" \
+ -P "http://${PUBLIC_IP}:9292" \
+ -A "http://${GLANCE_API_SERVICE_HOST}:9292"
+
+# turn on notification sending by glance
+crudini --set /etc/glance/glance-api.conf \
+ DEFAULT \
+ notification_driver \
+ "messaging"
+
+crudini --set /etc/glance/glance-api.conf \
+ DEFAULT \
+ rabbit_host \
+ "${RABBITMQ_SERVICE_HOST}"
+
+crudini --set /etc/glance/glance-api.conf \
+ DEFAULT \
+ registry_host \
+ "${GLANCE_REGISTRY_SERVICE_HOST}"
+
+crudini --set /etc/glance/glance-api.conf \
+ DEFAULT \
+ debug \
+ "True"
+
+exec /usr/bin/glance-api
diff --git a/docker/common/glance/glance-api/start.sh b/docker/common/glance/glance-api/start.sh
index 9140afbf1..152fb019f 100755
--- a/docker/common/glance/glance-api/start.sh
+++ b/docker/common/glance/glance-api/start.sh
@@ -1,53 +1,13 @@
#!/bin/bash
+set -o errexit
-set -e
+CMD="/usr/bin/glance-api"
+ARGS=""
-. /opt/kolla/kolla-common.sh
-. /opt/kolla/config-glance.sh
+# Loading common functions.
+source /opt/kolla/kolla-common.sh
-check_required_vars ADMIN_TENANT_NAME GLANCE_API_SERVICE_HOST \
- GLANCE_KEYSTONE_PASSWORD GLANCE_KEYSTONE_USER \
- GLANCE_REGISTRY_SERVICE_HOST KEYSTONE_ADMIN_SERVICE_HOST \
- KEYSTONE_ADMIN_SERVICE_PORT KEYSTONE_ADMIN_TOKEN \
- KEYSTONE_AUTH_PROTOCOL PUBLIC_IP \
- RABBITMQ_SERVICE_HOST
+# Config-internal script exec out of this function, it does not return here.
+set_configs
-fail_unless_os_service_running keystone
-
-export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}"
-export SERVICE_ENDPOINT="${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONE_ADMIN_SERVICE_HOST}:${KEYSTONE_ADMIN_SERVICE_PORT}/v2.0"
-
-crux user-create --update \
- -n "${GLANCE_KEYSTONE_USER}" \
- -p "${GLANCE_KEYSTONE_PASSWORD}" \
- -t "${ADMIN_TENANT_NAME}" \
- -r admin
-
-crux endpoint-create --remove-all \
- -n glance -t image \
- -I "http://${GLANCE_API_SERVICE_HOST}:9292" \
- -P "http://${PUBLIC_IP}:9292" \
- -A "http://${GLANCE_API_SERVICE_HOST}:9292"
-
-# turn on notification sending by glance
-crudini --set /etc/glance/glance-api.conf \
- DEFAULT \
- notification_driver \
- "messaging"
-
-crudini --set /etc/glance/glance-api.conf \
- DEFAULT \
- rabbit_host \
- "${RABBITMQ_SERVICE_HOST}"
-
-crudini --set /etc/glance/glance-api.conf \
- DEFAULT \
- registry_host \
- "${GLANCE_REGISTRY_SERVICE_HOST}"
-
-crudini --set /etc/glance/glance-api.conf \
- DEFAULT \
- debug \
- "True"
-
-exec /usr/bin/glance-api
+exec $CMD $ARGS
diff --git a/docker/common/glance/glance-registry/config-external.sh b/docker/common/glance/glance-registry/config-external.sh
new file mode 100755
index 000000000..37abd136d
--- /dev/null
+++ b/docker/common/glance/glance-registry/config-external.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+SOURCE="/opt/kolla/glance-registry/glance-registry.conf"
+TARGET="/etc/glance/glance-registry.conf"
+OWNER="glance"
+
+if [[ -f "$SOURCE" ]]; then
+ cp $SOURCE $TARGET
+ chown ${OWNER}: $TARGET
+ chmod 0644 $TARGET
+fi
diff --git a/docker/common/glance/glance-registry/config-internal.sh b/docker/common/glance/glance-registry/config-internal.sh
new file mode 100755
index 000000000..ec646eb70
--- /dev/null
+++ b/docker/common/glance/glance-registry/config-internal.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+set -e
+
+. /opt/kolla/kolla-common.sh
+. /opt/kolla/config-glance.sh
+
+
+check_required_vars DB_ROOT_PASSWORD GLANCE_DB_NAME \
+ GLANCE_DB_PASSWORD GLANCE_DB_USER \
+ MARIADB_SERVICE_HOST
+# lets wait for the DB to be available
+wait_for 25 1 check_for_db
+
+if [ "${INIT_GLANCE_DB}" == "true" ]; then
+ mysql -h ${MARIADB_SERVICE_HOST} -u root -p${DB_ROOT_PASSWORD} mysql <<EOF
+CREATE DATABASE IF NOT EXISTS ${GLANCE_DB_NAME} DEFAULT CHARACTER SET utf8;
+GRANT ALL PRIVILEGES ON ${GLANCE_DB_NAME}.* TO
+ '${GLANCE_DB_USER}'@'%' IDENTIFIED BY '${GLANCE_DB_PASSWORD}'
+
+EOF
+
+ /usr/bin/glance-manage db_sync
+fi
+
+exec /usr/bin/glance-registry
diff --git a/docker/common/glance/glance-registry/start.sh b/docker/common/glance/glance-registry/start.sh
index ec646eb70..e77232cf7 100755
--- a/docker/common/glance/glance-registry/start.sh
+++ b/docker/common/glance/glance-registry/start.sh
@@ -1,26 +1,20 @@
#!/bin/bash
+set -o errexit
-set -e
+CMD="/usr/bin/glance-registry"
+ARGS=""
-. /opt/kolla/kolla-common.sh
-. /opt/kolla/config-glance.sh
+# Loading common functions.
+source /opt/kolla/kolla-common.sh
+# Config-internal script exec out of this function, it does not return here.
+set_configs
-check_required_vars DB_ROOT_PASSWORD GLANCE_DB_NAME \
- GLANCE_DB_PASSWORD GLANCE_DB_USER \
- MARIADB_SERVICE_HOST
-# lets wait for the DB to be available
-wait_for 25 1 check_for_db
-
-if [ "${INIT_GLANCE_DB}" == "true" ]; then
- mysql -h ${MARIADB_SERVICE_HOST} -u root -p${DB_ROOT_PASSWORD} mysql <<EOF
-CREATE DATABASE IF NOT EXISTS ${GLANCE_DB_NAME} DEFAULT CHARACTER SET utf8;
-GRANT ALL PRIVILEGES ON ${GLANCE_DB_NAME}.* TO
- '${GLANCE_DB_USER}'@'%' IDENTIFIED BY '${GLANCE_DB_PASSWORD}'
-
-EOF
-
- /usr/bin/glance-manage db_sync
+# 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
+ su -s /bin/sh -c "glance-manage db_sync" glance
+ exit 0
fi
-exec /usr/bin/glance-registry
+exec $CMD $ARGS