diff options
| author | Sam Yaple <sam@yaple.net> | 2015-05-13 06:46:24 -0500 |
|---|---|---|
| committer | Sam Yaple <sam@yaple.net> | 2015-05-15 01:32:22 -0500 |
| commit | 13062e23e86b5d86020949754540460cb5b0b4fe (patch) | |
| tree | e0b3c8411418949a3d8df221da7c8cb2831b6d5d /docker/centos/binary/glance | |
| parent | 354ba01c8f5c7e1695cbea3bfc07aee5b75e76d9 (diff) | |
| download | kolla-13062e23e86b5d86020949754540460cb5b0b4fe.tar.gz kolla-13062e23e86b5d86020949754540460cb5b0b4fe.zip | |
Restructure builds to allow more flexibility
As a restructure, nothing is changed from the original behaviour and
naming despite the file structure changing. The symlinks to build had
to be updated generating lots of "deleted" and "new_file".
The new structure is:
docker/${base_distro}/${type}/${container}
base_distro == centos, ubuntu, fedora, etc
type == source, binary, rdo
type rdo is a symlink to binary for backwards compatibility
Two new flags are added to the build-all script to support the ability
to support different base distros and a flag to support binary or source
containers.
There are several added folders that are empty to hold the directory
structure for future containers of these types.
To use a prefix other than centos-rdo- you can set PREFIX in the toplevel
directory .buildconf file
Change-Id: Ifc7bac0d827470f506c8b5c004a833da9ce13b90
Diffstat (limited to 'docker/centos/binary/glance')
| -rw-r--r-- | docker/centos/binary/glance/glance-api/Dockerfile | 9 | ||||
| l--------- | docker/centos/binary/glance/glance-api/build | 1 | ||||
| -rwxr-xr-x | docker/centos/binary/glance/glance-api/check.sh | 17 | ||||
| -rwxr-xr-x | docker/centos/binary/glance/glance-api/start.sh | 52 | ||||
| -rw-r--r-- | docker/centos/binary/glance/glance-base/Dockerfile | 10 | ||||
| l--------- | docker/centos/binary/glance/glance-base/build | 1 | ||||
| -rw-r--r-- | docker/centos/binary/glance/glance-base/config-glance.sh | 63 | ||||
| -rw-r--r-- | docker/centos/binary/glance/glance-registry/Dockerfile | 5 | ||||
| l--------- | docker/centos/binary/glance/glance-registry/build | 1 | ||||
| -rwxr-xr-x | docker/centos/binary/glance/glance-registry/start.sh | 21 |
10 files changed, 180 insertions, 0 deletions
diff --git a/docker/centos/binary/glance/glance-api/Dockerfile b/docker/centos/binary/glance/glance-api/Dockerfile new file mode 100644 index 000000000..a4bd45bd1 --- /dev/null +++ b/docker/centos/binary/glance/glance-api/Dockerfile @@ -0,0 +1,9 @@ +FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%glance-base:%%KOLLA_TAG%% +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +VOLUME /var/lib/glance + +ADD ./start.sh /start.sh +ADD ./check.sh /check.sh + +CMD ["/start.sh"] diff --git a/docker/centos/binary/glance/glance-api/build b/docker/centos/binary/glance/glance-api/build new file mode 120000 index 000000000..ec1913803 --- /dev/null +++ b/docker/centos/binary/glance/glance-api/build @@ -0,0 +1 @@ +../../../../../tools/build-docker-image
\ No newline at end of file diff --git a/docker/centos/binary/glance/glance-api/check.sh b/docker/centos/binary/glance/glance-api/check.sh new file mode 100755 index 000000000..f97ef70f4 --- /dev/null +++ b/docker/centos/binary/glance/glance-api/check.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +RES=0 + +. /openrc +if ! keystone token-get > /dev/null; then + echo "ERROR: keystone token-get failed" >&2 + RES=1 +else + if ! glance image-list > /dev/null; then + echo "ERROR: glance image-list failed" >&2 + RES=1 + fi +fi + +exit $RES + diff --git a/docker/centos/binary/glance/glance-api/start.sh b/docker/centos/binary/glance/glance-api/start.sh new file mode 100755 index 000000000..c546333f4 --- /dev/null +++ b/docker/centos/binary/glance/glance-api/start.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +set -e + +. /opt/kolla/kolla-common.sh +. /opt/kolla/config-glance.sh +: ${GLANCE_API_SERVICE_HOST:=$PUBLIC_IP} + +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 + +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/centos/binary/glance/glance-base/Dockerfile b/docker/centos/binary/glance/glance-base/Dockerfile new file mode 100644 index 000000000..dcd70678d --- /dev/null +++ b/docker/centos/binary/glance/glance-base/Dockerfile @@ -0,0 +1,10 @@ +FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%base:%%KOLLA_TAG%% +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +# We really shouldn't need to install python-oslo-log or python-oslo-policy +# See: https://bugzilla.redhat.com/show_bug.cgi?id=1218349 +RUN yum -y install openstack-glance python-oslo-log python-oslo-policy && yum clean all + +RUN mkdir -p /opt/kolla +COPY config-glance.sh /opt/kolla/config-glance.sh + diff --git a/docker/centos/binary/glance/glance-base/build b/docker/centos/binary/glance/glance-base/build new file mode 120000 index 000000000..ec1913803 --- /dev/null +++ b/docker/centos/binary/glance/glance-base/build @@ -0,0 +1 @@ +../../../../../tools/build-docker-image
\ No newline at end of file diff --git a/docker/centos/binary/glance/glance-base/config-glance.sh b/docker/centos/binary/glance/glance-base/config-glance.sh new file mode 100644 index 000000000..aed044df5 --- /dev/null +++ b/docker/centos/binary/glance/glance-base/config-glance.sh @@ -0,0 +1,63 @@ +#!/bin/bash + +set -e + +. /opt/kolla/kolla-common.sh + +: ${ADMIN_TENANT_NAME:=admin} +: ${GLANCE_DB_NAME:=glance} +: ${GLANCE_DB_USER:=glance} +: ${GLANCE_KEYSTONE_USER:=glance} +: ${KEYSTONE_AUTH_PROTOCOL:=http} +: ${PUBLIC_IP:=$GLANCE_API_PORT_9292_TCP_ADDR} + +check_required_vars GLANCE_DB_PASSWORD GLANCE_KEYSTONE_PASSWORD +dump_vars + +cat > /openrc <<EOF +export OS_AUTH_URL="http://${KEYSTONE_PUBLIC_SERVICE_HOST}: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 --set $cfg \ + DEFAULT \ + log_file \ + "" + + for option in auth_protocol auth_host auth_port; do + crudini --del $cfg \ + keystone_authtoken \ + $option + done + + crudini --set $cfg \ + keystone_authtoken \ + auth_uri \ + "http://${KEYSTONE_PUBLIC_SERVICE_HOST}:5000/" + crudini --set $cfg \ + keystone_authtoken \ + admin_tenant_name \ + "${ADMIN_TENANT_NAME}" + crudini --set $cfg \ + keystone_authtoken \ + admin_user \ + "${GLANCE_KEYSTONE_USER}" + crudini --set $cfg \ + keystone_authtoken \ + admin_password \ + "${GLANCE_KEYSTONE_PASSWORD}" + + crudini --set $cfg \ + paste_deploy \ + flavor \ + keystone + + crudini --set $cfg \ + database \ + connection \ + "mysql://${GLANCE_DB_USER}:${GLANCE_DB_PASSWORD}@${MARIADB_SERVICE_HOST}/${GLANCE_DB_NAME}" +done + diff --git a/docker/centos/binary/glance/glance-registry/Dockerfile b/docker/centos/binary/glance/glance-registry/Dockerfile new file mode 100644 index 000000000..f950ce685 --- /dev/null +++ b/docker/centos/binary/glance/glance-registry/Dockerfile @@ -0,0 +1,5 @@ +FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%glance-base:%%KOLLA_TAG%% +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +ADD ./start.sh /start.sh +CMD ["/start.sh"] diff --git a/docker/centos/binary/glance/glance-registry/build b/docker/centos/binary/glance/glance-registry/build new file mode 120000 index 000000000..ec1913803 --- /dev/null +++ b/docker/centos/binary/glance/glance-registry/build @@ -0,0 +1 @@ +../../../../../tools/build-docker-image
\ No newline at end of file diff --git a/docker/centos/binary/glance/glance-registry/start.sh b/docker/centos/binary/glance/glance-registry/start.sh new file mode 100755 index 000000000..5f590fb1c --- /dev/null +++ b/docker/centos/binary/glance/glance-registry/start.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +set -e + +. /opt/kolla/kolla-common.sh +. /opt/kolla/config-glance.sh + +check_required_vars GLANCE_DB_NAME GLANCE_DB_USER GLANCE_DB_PASSWORD +# lets wait for the DB to be available +wait_for 25 1 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}' + +EOF + +/usr/bin/glance-manage db_sync + +exec /usr/bin/glance-registry |
