diff options
| author | Lars Kellogg-Stedman <lars@redhat.com> | 2014-10-08 12:48:31 -0400 |
|---|---|---|
| committer | Lars Kellogg-Stedman <lars@redhat.com> | 2014-10-13 09:53:56 -0400 |
| commit | a4069300aa285c747846c2aa47d514a282297a65 (patch) | |
| tree | 7b19670bd62bf3094dcb529c924600d77105c64d /docker | |
| parent | cb05bb513bc5dbb2aa0a10a569ee5032515ea382 (diff) | |
| download | kolla-a4069300aa285c747846c2aa47d514a282297a65.tar.gz kolla-a4069300aa285c747846c2aa47d514a282297a65.zip | |
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
Diffstat (limited to 'docker')
| -rwxr-xr-x | docker/glance/glance-api/start.sh | 21 | ||||
| -rw-r--r-- | docker/glance/glance-base/config-glance.sh | 25 | ||||
| -rwxr-xr-x | docker/glance/glance-registry/start.sh | 6 |
3 files changed, 33 insertions, 19 deletions
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 <<EOF +export OS_AUTH_URL="http://${KEYSTONE_PUBLIC_PORT_5000_TCP_ADDR}:5000/v2.0" +export OS_USERNAME="${GLANCE_KEYSTONE_USER}" +export OS_PASSWORD="${GLANCE_KEYSTONE_PASSWORD}" +export OS_TENANT_NAME="${ADMIN_TENANT_NAME}" +EOF + for cfg in /etc/glance/glance-api.conf /etc/glance/glance-registry.conf; do crudini --del $cfg \ DEFAULT \ @@ -49,17 +56,13 @@ for cfg in /etc/glance/glance-api.conf /etc/glance/glance-registry.conf; do done crudini --set $cfg \ - DEFAULT \ - bind_host \ - $MY_IP - crudini --set $cfg \ keystone_authtoken \ auth_uri \ "http://${KEYSTONE_PUBLIC_PORT_5000_TCP_ADDR}:5000/" crudini --set $cfg \ keystone_authtoken \ admin_tenant_name \ - "${ADMIN_TENANT_NAME}" + "${ADMIN_TENANT_NAME}" crudini --set $cfg \ keystone_authtoken \ admin_user \ diff --git a/docker/glance/glance-registry/start.sh b/docker/glance/glance-registry/start.sh index d6eb6c101..7e43bfbce 100755 --- a/docker/glance/glance-registry/start.sh +++ b/docker/glance/glance-registry/start.sh @@ -2,6 +2,12 @@ . /opt/glance/config-glance.sh +# wait for mysql to start +while ! mysql -h ${MARIADB_PORT_3306_TCP_ADDR} -u root -p${DB_ROOT_PASSWORD} -e "select 1" mysql > /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 <<EOF CREATE DATABASE IF NOT EXISTS ${GLANCE_DB_NAME} DEFAULT CHARACTER SET utf8; GRANT ALL PRIVILEGES ON ${GLANCE_DB_NAME}.* TO |
