From a4069300aa285c747846c2aa47d514a282297a65 Mon Sep 17 00:00:00 2001 From: Lars Kellogg-Stedman Date: Wed, 8 Oct 2014 12:48:31 -0400 Subject: correct various issues with glance images and configs - update keystone endpoints/user on boot (to avoid problems caused by, e.g., a stale password or invalid endpoint urls) - require GLANCE_DB_PASSWORD and GLANCE_KEYSTONE_PASSWORD in the environment, since we start multiple containers Change-Id: I31214b81280ed34409f92e79003c1116d5737d2e --- docker/glance/glance-api/start.sh | 21 +++++++++++++-------- docker/glance/glance-base/config-glance.sh | 25 ++++++++++++++----------- docker/glance/glance-registry/start.sh | 6 ++++++ 3 files changed, 33 insertions(+), 19 deletions(-) (limited to 'docker') diff --git a/docker/glance/glance-api/start.sh b/docker/glance/glance-api/start.sh index 81cd51909..e0cc37d4f 100755 --- a/docker/glance/glance-api/start.sh +++ b/docker/glance/glance-api/start.sh @@ -10,14 +10,19 @@ fi export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}" export SERVICE_ENDPOINT="http://${KEYSTONE_ADMIN_PORT_35357_TCP_ADDR}:35357/v2.0" -crux user-create -n "${GLANCE_KEYSTONE_USER}" \ - -p "${GLANCE_KEYSTONE_PASSWORD}" \ - -t "${ADMIN_TENANT_NAME}" \ - -r admin +while ! curl -o /dev/null -s --fail ${SERVICE_ENDPOINT}; do + echo "waiting for keystone..." + sleep 1; +done -crux endpoint-create -n glance -t image \ - -I "http://${GLANCE_API_PORT_9292_TCP_ADDR}:9292" \ - -P "http://${PUBLIC_IP}:9292" \ - -A "http://${GLANCE_API_PORT_9292_TCP_ADDR}:9292" +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_PORT_9292_TCP_ADDR}:9292" \ + -P "http://${PUBLIC_IP}:9292" \ + -A "http://${GLANCE_API_PORT_9292_TCP_ADDR}:9292" exec /usr/bin/glance-api diff --git a/docker/glance/glance-base/config-glance.sh b/docker/glance/glance-base/config-glance.sh index 2f78464bd..0675a7879 100644 --- a/docker/glance/glance-base/config-glance.sh +++ b/docker/glance/glance-base/config-glance.sh @@ -14,14 +14,14 @@ MY_IP=$(ip route get $(ip route | awk '$1 == "default" {print $3}') | : ${KEYSTONE_AUTH_PROTOCOL:=http} : ${PUBLIC_IP:=$MY_IP} -if ! [ "$GLANCE_DB_PASSWORD" ]; then - GLANCE_DB_PASSWORD=$(openssl rand -hex 15) - export GLANCE_DB_PASSWORD +if [ -z "$GLANCE_DB_PASSWORD" ]; then + echo "ERROR: missing GLANCE_DB_PASSWORD" >&2 + exit 1 fi -if ! [ "$GLANCE_KEYSTONE_PASSWORD" ]; then - GLANCE_KEYSTONE_PASSWORD=$(openssl rand -hex 15) - export GLANCE_KEYSTONE_PASSWORD +if [ -z "$GLANCE_KEYSTONE_PASSWORD" ]; then + echo "ERROR: missing GLANCE_KEYSTONE_PASSWORD" >&2 + exit 1 fi if ! [ -f /startconfig ]; then @@ -37,6 +37,13 @@ GLANCE_KEYSTONE_PASSWORD=${GLANCE_KEYSTONE_PASSWORD} EOF fi +cat > /openrc < /dev/null 2>&1; do + echo "waiting for mysql..." + sleep 1 +done + mysql -h ${MARIADB_PORT_3306_TCP_ADDR} -u root -p${DB_ROOT_PASSWORD} mysql <