aboutsummaryrefslogtreecommitdiff
path: root/docker/centos/binary/glance
diff options
context:
space:
mode:
authorSam Yaple <sam@yaple.net>2015-05-13 06:46:24 -0500
committerSam Yaple <sam@yaple.net>2015-05-15 01:32:22 -0500
commit13062e23e86b5d86020949754540460cb5b0b4fe (patch)
treee0b3c8411418949a3d8df221da7c8cb2831b6d5d /docker/centos/binary/glance
parent354ba01c8f5c7e1695cbea3bfc07aee5b75e76d9 (diff)
downloadkolla-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/Dockerfile9
l---------docker/centos/binary/glance/glance-api/build1
-rwxr-xr-xdocker/centos/binary/glance/glance-api/check.sh17
-rwxr-xr-xdocker/centos/binary/glance/glance-api/start.sh52
-rw-r--r--docker/centos/binary/glance/glance-base/Dockerfile10
l---------docker/centos/binary/glance/glance-base/build1
-rw-r--r--docker/centos/binary/glance/glance-base/config-glance.sh63
-rw-r--r--docker/centos/binary/glance/glance-registry/Dockerfile5
l---------docker/centos/binary/glance/glance-registry/build1
-rwxr-xr-xdocker/centos/binary/glance/glance-registry/start.sh21
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