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
This commit is contained in:
Lars Kellogg-Stedman 2014-10-10 11:45:33 -04:00
parent a19e1cdd00
commit 165307eb66
4 changed files with 33 additions and 61 deletions

View File

@ -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
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
export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}"
export SERVICE_ENDPOINT="http://${KEYSTONE_ADMIN_PORT_35357_TCP_ADDR}:35357/v2.0"
export SERVICE_ENDPOINT="http://${KEYSTONE_ADMIN_SERVICE_HOST}:35357/v2.0"
while ! curl -o /dev/null -s --fail ${SERVICE_ENDPOINT}; do
echo "waiting for keystone..."
sleep 1;
done
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

View File

@ -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

View File

@ -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

View File

@ -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}'