diff options
| author | Lars Kellogg-Stedman <lars@redhat.com> | 2014-10-10 11:45:33 -0400 |
|---|---|---|
| committer | Lars Kellogg-Stedman <lars@redhat.com> | 2014-10-13 14:41:37 -0400 |
| commit | 165307eb663b5d8f35d8c5bf7578dc03a0fa1e00 (patch) | |
| tree | 92a8b01de72e19e5298b7f8abb4b8a0d47dc9572 /docker/glance | |
| parent | a19e1cdd00f0b3394f9146eab8cb7f7fe2b6e0f2 (diff) | |
| download | kolla-165307eb663b5d8f35d8c5bf7578dc03a0fa1e00.tar.gz kolla-165307eb663b5d8f35d8c5bf7578dc03a0fa1e00.zip | |
glance: cleanup; use kolla-common; exit on errors
cause glance start.sh scripts to exit on any errors (allowing kubernetes
to reschedule the pod).
Change-Id: Ibebbf47758a1dfc241cb04cdb12e44af77f92b55
Diffstat (limited to 'docker/glance')
| -rwxr-xr-x | docker/glance/glance-api/start.sh | 31 | ||||
| -rw-r--r-- | docker/glance/glance-base/Dockerfile | 13 | ||||
| -rw-r--r-- | docker/glance/glance-base/config-glance.sh | 35 | ||||
| -rwxr-xr-x | docker/glance/glance-registry/start.sh | 15 |
4 files changed, 33 insertions, 61 deletions
diff --git a/docker/glance/glance-api/start.sh b/docker/glance/glance-api/start.sh index e0cc37d4f..c94db2ebc 100755 --- a/docker/glance/glance-api/start.sh +++ b/docker/glance/glance-api/start.sh @@ -1,28 +1,29 @@ #!/bin/sh -if ! [ "$KEYSTONE_ADMIN_TOKEN" ]; then - echo "*** Missing KEYSTONE_ADMIN_TOKEN" >&2 - exit 1 -fi +set -e -. /opt/glance/config-glance.sh +. /opt/kolla/kolla-common.sh +. /opt/kolla/config-glance.sh -export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}" -export SERVICE_ENDPOINT="http://${KEYSTONE_ADMIN_PORT_35357_TCP_ADDR}:35357/v2.0" +check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \ + GLANCE_KEYSTONE_USER GLANCE_KEYSTONE_PASSWORD \ + ADMIN_TENANT_NAME GLANCE_API_SERVICE_HOST \ + PUBLIC_IP +check_for_keystone -while ! curl -o /dev/null -s --fail ${SERVICE_ENDPOINT}; do - echo "waiting for keystone..." - sleep 1; -done +export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}" +export SERVICE_ENDPOINT="http://${KEYSTONE_ADMIN_SERVICE_HOST}:35357/v2.0" -crux user-create --update -n "${GLANCE_KEYSTONE_USER}" \ +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" \ +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_PORT_9292_TCP_ADDR}:9292" + -A "http://${GLANCE_API_SERVICE_HOST}:9292" exec /usr/bin/glance-api diff --git a/docker/glance/glance-base/Dockerfile b/docker/glance/glance-base/Dockerfile index 23c46ec3a..19bbde532 100644 --- a/docker/glance/glance-base/Dockerfile +++ b/docker/glance/glance-base/Dockerfile @@ -1,15 +1,8 @@ FROM kollaglue/fedora-rdo-base MAINTAINER Dan Radez <dradez@redhat.com> -RUN yum -y install dnf dnf-plugins-core; yum clean all -RUN dnf copr enable -y larsks/crux -RUN yum -y install \ - openstack-utils \ - openstack-glance \ - python-keystoneclient \ - mariadb crux \ - ; yum clean all +RUN yum -y install openstack-glance ; yum clean all -RUN mkdir /opt/glance -COPY config-glance.sh /opt/glance/config-glance.sh +RUN mkdir -p /opt/kolla +COPY config-glance.sh /opt/kolla/config-glance.sh diff --git a/docker/glance/glance-base/config-glance.sh b/docker/glance/glance-base/config-glance.sh index 0675a7879..e65003448 100644 --- a/docker/glance/glance-base/config-glance.sh +++ b/docker/glance/glance-base/config-glance.sh @@ -1,11 +1,8 @@ #!/bin/sh -# -# usage config-glance.sh ( api | registry ) -[ -f /startconfig ] && . /startconfig +set -e -MY_IP=$(ip route get $(ip route | awk '$1 == "default" {print $3}') | - awk '$4 == "src" {print $5}') +. /opt/kolla/kolla-common.sh : ${ADMIN_TENANT_NAME:=admin} : ${GLANCE_DB_NAME:=glance} @@ -14,28 +11,8 @@ MY_IP=$(ip route get $(ip route | awk '$1 == "default" {print $3}') | : ${KEYSTONE_AUTH_PROTOCOL:=http} : ${PUBLIC_IP:=$MY_IP} -if [ -z "$GLANCE_DB_PASSWORD" ]; then - echo "ERROR: missing GLANCE_DB_PASSWORD" >&2 - exit 1 -fi - -if [ -z "$GLANCE_KEYSTONE_PASSWORD" ]; then - echo "ERROR: missing GLANCE_KEYSTONE_PASSWORD" >&2 - exit 1 -fi - -if ! [ -f /startconfig ]; then - cat > /startconfig <<-EOF -ADMIN_TENANT_NAME=${ADMIN_TENANT_NAME} -GLANCE_DB_NAME=${GLANCE_DB_NAME} -GLANCE_DB_USER=${GLANCE_DB_USER} -GLANCE_KEYSTONE_USER=${GLANCE_KEYSTONE_USER} -KEYSTONE_AUTH_PROTOCOL=${KEYSTONE_AUTH_PROTOCOL} -PUBLIC_IP=${PUBLIC_IP} -GLANCE_DB_PASSWORD=${GLANCE_DB_PASSWORD} -GLANCE_KEYSTONE_PASSWORD=${GLANCE_KEYSTONE_PASSWORD} -EOF -fi +check_required_vars GLANCE_DB_PASSWORD GLANCE_KEYSTONE_PASSWORD +dump_vars cat > /openrc <<EOF export OS_AUTH_URL="http://${KEYSTONE_PUBLIC_PORT_5000_TCP_ADDR}:5000/v2.0" @@ -58,7 +35,7 @@ for cfg in /etc/glance/glance-api.conf /etc/glance/glance-registry.conf; do crudini --set $cfg \ keystone_authtoken \ auth_uri \ - "http://${KEYSTONE_PUBLIC_PORT_5000_TCP_ADDR}:5000/" + "http://${KEYSTONE_PUBLIC_SERVICE_HOST}:5000/" crudini --set $cfg \ keystone_authtoken \ admin_tenant_name \ @@ -75,6 +52,6 @@ for cfg in /etc/glance/glance-api.conf /etc/glance/glance-registry.conf; do crudini --set $cfg \ database \ connection \ - "mysql://${GLANCE_DB_USER}:${GLANCE_DB_PASSWORD}@${MARIADB_PORT_3306_TCP_ADDR}/${GLANCE_DB_NAME}" + "mysql://${GLANCE_DB_USER}:${GLANCE_DB_PASSWORD}@${MARIADB_SERVICE_HOST}/${GLANCE_DB_NAME}" done diff --git a/docker/glance/glance-registry/start.sh b/docker/glance/glance-registry/start.sh index 7e43bfbce..19be79481 100755 --- a/docker/glance/glance-registry/start.sh +++ b/docker/glance/glance-registry/start.sh @@ -1,14 +1,15 @@ #!/bin/sh -. /opt/glance/config-glance.sh +set -e -# 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 +. /opt/kolla/kolla-common.sh +. /opt/kolla/config-glance.sh -mysql -h ${MARIADB_PORT_3306_TCP_ADDR} -u root -p${DB_ROOT_PASSWORD} mysql <<EOF +check_required_vars MARIADB_SERVICE_HOST DB_ROOT_PASSWORD \ + GLANCE_DB_NAME GLANCE_DB_PASSWORD +check_for_db + +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}' |
