aboutsummaryrefslogtreecommitdiff
path: root/docker/glance
diff options
context:
space:
mode:
authorLars Kellogg-Stedman <lars@redhat.com>2014-10-10 11:45:33 -0400
committerLars Kellogg-Stedman <lars@redhat.com>2014-10-13 14:41:37 -0400
commit165307eb663b5d8f35d8c5bf7578dc03a0fa1e00 (patch)
tree92a8b01de72e19e5298b7f8abb4b8a0d47dc9572 /docker/glance
parenta19e1cdd00f0b3394f9146eab8cb7f7fe2b6e0f2 (diff)
downloadkolla-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-xdocker/glance/glance-api/start.sh31
-rw-r--r--docker/glance/glance-base/Dockerfile13
-rw-r--r--docker/glance/glance-base/config-glance.sh35
-rwxr-xr-xdocker/glance/glance-registry/start.sh15
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}'