From ba1901de653c324e8d8b0030e163028d11d90cfd Mon Sep 17 00:00:00 2001 From: Swapnil Kulkarni Date: Wed, 8 Jul 2015 20:21:27 +0000 Subject: Add config-internal/config-external for barbican Partially Implements: Blueprint standard-start Change-Id: I34b4d96515b4c68d42319b477504abdfe9581bad --- docker/common/barbican/config-external.sh | 10 ++++ docker/common/barbican/config-internal.sh | 75 ++++++++++++++++++++++++++ docker/common/barbican/start.sh | 87 +++++-------------------------- 3 files changed, 99 insertions(+), 73 deletions(-) create mode 100644 docker/common/barbican/config-external.sh create mode 100644 docker/common/barbican/config-internal.sh (limited to 'docker/common') diff --git a/docker/common/barbican/config-external.sh b/docker/common/barbican/config-external.sh new file mode 100644 index 000000000..12ca52fb9 --- /dev/null +++ b/docker/common/barbican/config-external.sh @@ -0,0 +1,10 @@ +#!/bin/bash +SOURCE="/opt/kolla/barbican/barbican.conf" +TARGET="/etc/barbican/barbican.conf" +OWNER="barbican" + +if [[ -f "$SOURCE" ]]; then + cp $SOURCE $TARGET + chown ${OWNER}: $TARGET + chmod 0644 $TARGET +fi diff --git a/docker/common/barbican/config-internal.sh b/docker/common/barbican/config-internal.sh new file mode 100644 index 000000000..1ca4bd1be --- /dev/null +++ b/docker/common/barbican/config-internal.sh @@ -0,0 +1,75 @@ +#!/bin/bash + +set -e + +if ! [ "$BARBICAN_DB_PASSWORD" ]; then + BARBICAN_DB_PASSWORD=$(openssl rand -hex 15) + export BARBICAN_DB_PASSWORD +fi + +check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \ + KEYSTONE_ADMIN_SERVICE_PORT BARBICAN_ADMIN_PASSWORD +fail_unless_db +fail_unless_os_service_running keystone + +mysql -h ${MARIADB_SERVICE_HOST} -u root -p"${DB_ROOT_PASSWORD}" mysql < /dev/null 2>&1 || /bin/keystone user-create --name ${BARBICAN_KEYSTONE_USER} --pass ${BARBICAN_ADMIN_PASSWORD} + +keystone role-get observer > /dev/null 2>&1 || /bin/keystone role-create --name observer +keystone role-get creator > /dev/null 2>&1 || /bin/keystone role-create --name creator + +keystone user-get ${BARBICAN_KEYSTONE_USER} > /dev/null 2>&1 || /bin/keystone user-role-add --user ${BARBICAN_KEYSTONE_USER} --role admin --tenant ${ADMIN_TENANT_NAME} + +# launch Barbican using uwsgi +exec uwsgi --master --emperor /etc/barbican/vassals diff --git a/docker/common/barbican/start.sh b/docker/common/barbican/start.sh index 673aa4339..c0a32e00d 100755 --- a/docker/common/barbican/start.sh +++ b/docker/common/barbican/start.sh @@ -1,81 +1,22 @@ #!/bin/bash -set -e +set -o errexit -: ${BARBICAN_DB_USER:=barbican} -: ${BARBICAN_DB_NAME:=barbican} -: ${KEYSTONE_AUTH_PROTOCOL:=http} -: ${BARBICAN_KEYSTONE_USER:=barbican} -: ${ADMIN_TENANT_NAME:=admin} +CMD="uwsgi" +ARGS="--master --emperor" -if ! [ "$BARBICAN_DB_PASSWORD" ]; then - BARBICAN_DB_PASSWORD=$(openssl rand -hex 15) - export BARBICAN_DB_PASSWORD -fi - -check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \ - KEYSTONE_ADMIN_SERVICE_PORT BARBICAN_ADMIN_PASSWORD -fail_unless_db -fail_unless_os_service_running keystone - -mysql -h ${MARIADB_SERVICE_HOST} -u root -p"${DB_ROOT_PASSWORD}" mysql < /dev/null 2>&1 || /bin/keystone user-create --name ${BARBICAN_KEYSTONE_USER} --pass ${BARBICAN_ADMIN_PASSWORD} - -keystone role-get observer > /dev/null 2>&1 || /bin/keystone role-create --name observer -keystone role-get creator > /dev/null 2>&1 || /bin/keystone role-create --name creator +# Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases +# of the KOLLA_BOOTSTRAP variable being set, including empty. +if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then + su -s /bin/sh -c "barbican-manage db_sync" barbican + exit 0 +fi -keystone user-get ${BARBICAN_KEYSTONE_USER} > /dev/null 2>&1 || /bin/keystone user-role-add --user ${BARBICAN_KEYSTONE_USER} --role admin --tenant ${ADMIN_TENANT_NAME} +exec $CMD $ARGS -# launch Barbican using uwsgi -exec uwsgi --master --emperor /etc/barbican/vassals -- cgit v1.2.3