From 656ba297e725b406d39c5143da2c7ade3bbaad52 Mon Sep 17 00:00:00 2001 From: Harm Weites Date: Wed, 1 Jul 2015 23:34:17 +0200 Subject: [PATCH] Add config-internal/config-external to Glance containers Partially Implements: Blueprint standard-start Change-Id: I26e2fe52fe40efd001f9aae109ac6b7553d73264 --- .../binary/glance/glance-api/Dockerfile | 2 + .../glance/glance-api/config-external.sh | 1 + .../glance/glance-api/config-internal.sh | 1 + .../binary/glance/glance-registry/Dockerfile | 2 + .../glance/glance-registry/config-external.sh | 1 + .../glance/glance-registry/config-internal.sh | 1 + .../glance/glance-api/config-external.sh | 10 ++++ .../glance/glance-api/config-internal.sh | 53 ++++++++++++++++++ docker/common/glance/glance-api/start.sh | 56 +++---------------- .../glance/glance-registry/config-external.sh | 10 ++++ .../glance/glance-registry/config-internal.sh | 26 +++++++++ docker/common/glance/glance-registry/start.sh | 32 +++++------ 12 files changed, 128 insertions(+), 67 deletions(-) create mode 120000 docker/centos/binary/glance/glance-api/config-external.sh create mode 120000 docker/centos/binary/glance/glance-api/config-internal.sh create mode 120000 docker/centos/binary/glance/glance-registry/config-external.sh create mode 120000 docker/centos/binary/glance/glance-registry/config-internal.sh create mode 100755 docker/common/glance/glance-api/config-external.sh create mode 100755 docker/common/glance/glance-api/config-internal.sh create mode 100755 docker/common/glance/glance-registry/config-external.sh create mode 100755 docker/common/glance/glance-registry/config-internal.sh diff --git a/docker/centos/binary/glance/glance-api/Dockerfile b/docker/centos/binary/glance/glance-api/Dockerfile index 5ff83508f9..70e87a882c 100644 --- a/docker/centos/binary/glance/glance-api/Dockerfile +++ b/docker/centos/binary/glance/glance-api/Dockerfile @@ -4,4 +4,6 @@ MAINTAINER Kolla Project (https://launchpad.net/kolla) ADD ./start.sh /start.sh ADD ./check.sh /check.sh +COPY config-internal.sh config-external.sh /opt/kolla/ + CMD ["/start.sh"] diff --git a/docker/centos/binary/glance/glance-api/config-external.sh b/docker/centos/binary/glance/glance-api/config-external.sh new file mode 120000 index 0000000000..46a22b7b31 --- /dev/null +++ b/docker/centos/binary/glance/glance-api/config-external.sh @@ -0,0 +1 @@ +../../../../common/glance/glance-api/config-external.sh \ No newline at end of file diff --git a/docker/centos/binary/glance/glance-api/config-internal.sh b/docker/centos/binary/glance/glance-api/config-internal.sh new file mode 120000 index 0000000000..112e6557c4 --- /dev/null +++ b/docker/centos/binary/glance/glance-api/config-internal.sh @@ -0,0 +1 @@ +../../../../common/glance/glance-api/config-internal.sh \ No newline at end of file diff --git a/docker/centos/binary/glance/glance-registry/Dockerfile b/docker/centos/binary/glance/glance-registry/Dockerfile index f950ce685e..27269a03ea 100644 --- a/docker/centos/binary/glance/glance-registry/Dockerfile +++ b/docker/centos/binary/glance/glance-registry/Dockerfile @@ -1,5 +1,7 @@ FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%glance-base:%%KOLLA_TAG%% MAINTAINER Kolla Project (https://launchpad.net/kolla) +COPY config-internal.sh config-external.sh /opt/kolla/ + ADD ./start.sh /start.sh CMD ["/start.sh"] diff --git a/docker/centos/binary/glance/glance-registry/config-external.sh b/docker/centos/binary/glance/glance-registry/config-external.sh new file mode 120000 index 0000000000..cfcbd13914 --- /dev/null +++ b/docker/centos/binary/glance/glance-registry/config-external.sh @@ -0,0 +1 @@ +../../../../common/glance/glance-registry/config-external.sh \ No newline at end of file diff --git a/docker/centos/binary/glance/glance-registry/config-internal.sh b/docker/centos/binary/glance/glance-registry/config-internal.sh new file mode 120000 index 0000000000..c3d48cfc01 --- /dev/null +++ b/docker/centos/binary/glance/glance-registry/config-internal.sh @@ -0,0 +1 @@ +../../../../common/glance/glance-registry/config-internal.sh \ No newline at end of file diff --git a/docker/common/glance/glance-api/config-external.sh b/docker/common/glance/glance-api/config-external.sh new file mode 100755 index 0000000000..ce54117381 --- /dev/null +++ b/docker/common/glance/glance-api/config-external.sh @@ -0,0 +1,10 @@ +#!/bin/bash +SOURCE="/opt/kolla/glance-api/glance-api.conf" +TARGET="/etc/glance/glance-api.conf" +OWNER="glance" + +if [[ -f "$SOURCE" ]]; then + cp $SOURCE $TARGET + chown ${OWNER}: $TARGET + chmod 0644 $TARGET +fi diff --git a/docker/common/glance/glance-api/config-internal.sh b/docker/common/glance/glance-api/config-internal.sh new file mode 100755 index 0000000000..9140afbf19 --- /dev/null +++ b/docker/common/glance/glance-api/config-internal.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +set -e + +. /opt/kolla/kolla-common.sh +. /opt/kolla/config-glance.sh + +check_required_vars ADMIN_TENANT_NAME GLANCE_API_SERVICE_HOST \ + GLANCE_KEYSTONE_PASSWORD GLANCE_KEYSTONE_USER \ + GLANCE_REGISTRY_SERVICE_HOST KEYSTONE_ADMIN_SERVICE_HOST \ + KEYSTONE_ADMIN_SERVICE_PORT KEYSTONE_ADMIN_TOKEN \ + KEYSTONE_AUTH_PROTOCOL PUBLIC_IP \ + RABBITMQ_SERVICE_HOST + +fail_unless_os_service_running keystone + +export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}" +export SERVICE_ENDPOINT="${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONE_ADMIN_SERVICE_HOST}:${KEYSTONE_ADMIN_SERVICE_PORT}/v2.0" + +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_SERVICE_HOST}:9292" \ + -P "http://${PUBLIC_IP}:9292" \ + -A "http://${GLANCE_API_SERVICE_HOST}:9292" + +# turn on notification sending by glance +crudini --set /etc/glance/glance-api.conf \ + DEFAULT \ + notification_driver \ + "messaging" + +crudini --set /etc/glance/glance-api.conf \ + DEFAULT \ + rabbit_host \ + "${RABBITMQ_SERVICE_HOST}" + +crudini --set /etc/glance/glance-api.conf \ + DEFAULT \ + registry_host \ + "${GLANCE_REGISTRY_SERVICE_HOST}" + +crudini --set /etc/glance/glance-api.conf \ + DEFAULT \ + debug \ + "True" + +exec /usr/bin/glance-api diff --git a/docker/common/glance/glance-api/start.sh b/docker/common/glance/glance-api/start.sh index 9140afbf19..152fb019f1 100755 --- a/docker/common/glance/glance-api/start.sh +++ b/docker/common/glance/glance-api/start.sh @@ -1,53 +1,13 @@ #!/bin/bash +set -o errexit -set -e +CMD="/usr/bin/glance-api" +ARGS="" -. /opt/kolla/kolla-common.sh -. /opt/kolla/config-glance.sh +# Loading common functions. +source /opt/kolla/kolla-common.sh -check_required_vars ADMIN_TENANT_NAME GLANCE_API_SERVICE_HOST \ - GLANCE_KEYSTONE_PASSWORD GLANCE_KEYSTONE_USER \ - GLANCE_REGISTRY_SERVICE_HOST KEYSTONE_ADMIN_SERVICE_HOST \ - KEYSTONE_ADMIN_SERVICE_PORT KEYSTONE_ADMIN_TOKEN \ - KEYSTONE_AUTH_PROTOCOL PUBLIC_IP \ - RABBITMQ_SERVICE_HOST +# Config-internal script exec out of this function, it does not return here. +set_configs -fail_unless_os_service_running keystone - -export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}" -export SERVICE_ENDPOINT="${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONE_ADMIN_SERVICE_HOST}:${KEYSTONE_ADMIN_SERVICE_PORT}/v2.0" - -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_SERVICE_HOST}:9292" \ - -P "http://${PUBLIC_IP}:9292" \ - -A "http://${GLANCE_API_SERVICE_HOST}:9292" - -# turn on notification sending by glance -crudini --set /etc/glance/glance-api.conf \ - DEFAULT \ - notification_driver \ - "messaging" - -crudini --set /etc/glance/glance-api.conf \ - DEFAULT \ - rabbit_host \ - "${RABBITMQ_SERVICE_HOST}" - -crudini --set /etc/glance/glance-api.conf \ - DEFAULT \ - registry_host \ - "${GLANCE_REGISTRY_SERVICE_HOST}" - -crudini --set /etc/glance/glance-api.conf \ - DEFAULT \ - debug \ - "True" - -exec /usr/bin/glance-api +exec $CMD $ARGS diff --git a/docker/common/glance/glance-registry/config-external.sh b/docker/common/glance/glance-registry/config-external.sh new file mode 100755 index 0000000000..37abd136da --- /dev/null +++ b/docker/common/glance/glance-registry/config-external.sh @@ -0,0 +1,10 @@ +#!/bin/bash +SOURCE="/opt/kolla/glance-registry/glance-registry.conf" +TARGET="/etc/glance/glance-registry.conf" +OWNER="glance" + +if [[ -f "$SOURCE" ]]; then + cp $SOURCE $TARGET + chown ${OWNER}: $TARGET + chmod 0644 $TARGET +fi diff --git a/docker/common/glance/glance-registry/config-internal.sh b/docker/common/glance/glance-registry/config-internal.sh new file mode 100755 index 0000000000..ec646eb70d --- /dev/null +++ b/docker/common/glance/glance-registry/config-internal.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +set -e + +. /opt/kolla/kolla-common.sh +. /opt/kolla/config-glance.sh + + +check_required_vars DB_ROOT_PASSWORD GLANCE_DB_NAME \ + GLANCE_DB_PASSWORD GLANCE_DB_USER \ + MARIADB_SERVICE_HOST +# lets wait for the DB to be available +wait_for 25 1 check_for_db + +if [ "${INIT_GLANCE_DB}" == "true" ]; then + mysql -h ${MARIADB_SERVICE_HOST} -u root -p${DB_ROOT_PASSWORD} mysql <