diff options
| author | digambar <digambarpatil15@yahoo.co.in> | 2015-07-03 10:14:52 +0530 |
|---|---|---|
| committer | Swapnil Kulkarni <me@coolsvap.net> | 2015-07-09 12:13:58 -0400 |
| commit | e34b3b68fdd22a26f6e55178f19f0e35364ddc33 (patch) | |
| tree | 2381e1f647b16d9c78160e4fa178d614a98bd68d /docker/common | |
| parent | fcda6a06d8eee9d3f3199962b36a04a8c702072c (diff) | |
| download | kolla-e34b3b68fdd22a26f6e55178f19f0e35364ddc33.tar.gz kolla-e34b3b68fdd22a26f6e55178f19f0e35364ddc33.zip | |
Add config-internal/config-external to Magnum containers
Partially Implements: Blueprint standard-start
Co-Authored-By: Swapnil Kulkarni <me@coolsvap.net>
Change-Id: I88103eba45f520a2709129072bb90555feb5c6ba
Diffstat (limited to 'docker/common')
| -rw-r--r-- | docker/common/magnum/magnum-api/config-external.sh | 10 | ||||
| -rw-r--r-- | docker/common/magnum/magnum-api/config-internal.sh | 27 | ||||
| -rwxr-xr-x | docker/common/magnum/magnum-api/start.sh | 35 | ||||
| -rw-r--r-- | docker/common/magnum/magnum-conductor/config-external.sh | 10 | ||||
| -rw-r--r-- | docker/common/magnum/magnum-conductor/config-internal.sh | 17 | ||||
| -rwxr-xr-x | docker/common/magnum/magnum-conductor/start.sh | 19 |
6 files changed, 86 insertions, 32 deletions
diff --git a/docker/common/magnum/magnum-api/config-external.sh b/docker/common/magnum/magnum-api/config-external.sh new file mode 100644 index 000000000..573043f7d --- /dev/null +++ b/docker/common/magnum/magnum-api/config-external.sh @@ -0,0 +1,10 @@ +#!/bin/bash +SOURCE="/opt/kolla/magnum/magnum-api/magnum.conf" +TARGET="/etc/magnum/magnum.conf" +OWNER="magnum" + +if [[ -f "$SOURCE" ]]; then + cp $SOURCE $TARGET + chown ${OWNER}: $TARGET + chmod 0644 $TARGET +fi diff --git a/docker/common/magnum/magnum-api/config-internal.sh b/docker/common/magnum/magnum-api/config-internal.sh new file mode 100644 index 000000000..00a51b3cd --- /dev/null +++ b/docker/common/magnum/magnum-api/config-internal.sh @@ -0,0 +1,27 @@ +#!/bin/bash +set -e + +. /opt/kolla/kolla-common.sh +. /opt/kolla/config-magnum.sh + +check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \ + MAGNUM_KEYSTONE_USER MAGNUM_KEYSTONE_PASSWORD \ + KEYSTONE_AUTH_PROTOCOL ADMIN_TENANT_NAME \ + MAGNUM_API_SERVICE_HOST KEYSTONE_ADMIN_SERVICE_PORT \ + MAGNUM_API_SERVICE_PORT + +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 -n ${MAGNUM_KEYSTONE_USER} \ + -p ${MAGNUM_KEYSTONE_PASSWORD} \ + -t ${ADMIN_TENANT_NAME} \ + -r admin + +crux endpoint-create --remove-all -n ${MAGNUM_KEYSTONE_USER} -t container \ + -I "${KEYSTONE_AUTH_PROTOCOL}://${MAGNUM_API_SERVICE_HOST}:${MAGNUM_API_SERVICE_PORT}/v1" \ + -P "${KEYSTONE_AUTH_PROTOCOL}://${MAGNUM_API_SERVICE_HOST}:${MAGNUM_API_SERVICE_PORT}/v1" \ + -A "${KEYSTONE_AUTH_PROTOCOL}://${MAGNUM_API_SERVICE_HOST}:${MAGNUM_API_SERVICE_PORT}/v1" + +exec /usr/bin/magnum-api diff --git a/docker/common/magnum/magnum-api/start.sh b/docker/common/magnum/magnum-api/start.sh index 00a51b3cd..5a47fdf89 100755 --- a/docker/common/magnum/magnum-api/start.sh +++ b/docker/common/magnum/magnum-api/start.sh @@ -1,27 +1,20 @@ #!/bin/bash -set -e -. /opt/kolla/kolla-common.sh -. /opt/kolla/config-magnum.sh +set -o errexit +CMD="/usr/bin/magnum-api" +ARGS="" -check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \ - MAGNUM_KEYSTONE_USER MAGNUM_KEYSTONE_PASSWORD \ - KEYSTONE_AUTH_PROTOCOL ADMIN_TENANT_NAME \ - MAGNUM_API_SERVICE_HOST KEYSTONE_ADMIN_SERVICE_PORT \ - MAGNUM_API_SERVICE_PORT +# Loading common functions. +source /opt/kolla/kolla-common.sh -fail_unless_os_service_running keystone +# Config-internal script exec out of this function, it does not return here. +set_configs -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 -n ${MAGNUM_KEYSTONE_USER} \ - -p ${MAGNUM_KEYSTONE_PASSWORD} \ - -t ${ADMIN_TENANT_NAME} \ - -r admin +# 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 "magnum-manage db_sync" magnum + exit 0 +fi -crux endpoint-create --remove-all -n ${MAGNUM_KEYSTONE_USER} -t container \ - -I "${KEYSTONE_AUTH_PROTOCOL}://${MAGNUM_API_SERVICE_HOST}:${MAGNUM_API_SERVICE_PORT}/v1" \ - -P "${KEYSTONE_AUTH_PROTOCOL}://${MAGNUM_API_SERVICE_HOST}:${MAGNUM_API_SERVICE_PORT}/v1" \ - -A "${KEYSTONE_AUTH_PROTOCOL}://${MAGNUM_API_SERVICE_HOST}:${MAGNUM_API_SERVICE_PORT}/v1" - -exec /usr/bin/magnum-api +exec $CMD $ARGS diff --git a/docker/common/magnum/magnum-conductor/config-external.sh b/docker/common/magnum/magnum-conductor/config-external.sh new file mode 100644 index 000000000..b96e3179e --- /dev/null +++ b/docker/common/magnum/magnum-conductor/config-external.sh @@ -0,0 +1,10 @@ +#!/bin/bash +SOURCE="/opt/kolla/magnum/magnum-conductor/magnum.conf" +TARGET="/etc/magnum/magnum.conf" +OWNER="magnum" + +if [[ -f "$SOURCE" ]]; then + cp $SOURCE $TARGET + chown ${OWNER}: $TARGET + chmod 0644 $TARGET +fi diff --git a/docker/common/magnum/magnum-conductor/config-internal.sh b/docker/common/magnum/magnum-conductor/config-internal.sh new file mode 100644 index 000000000..4cf1291a3 --- /dev/null +++ b/docker/common/magnum/magnum-conductor/config-internal.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +. /opt/kolla/kolla-common.sh +. /opt/kolla/config-magnum.sh + +check_required_vars MAGNUM_DB_NAME MAGNUM_DB_USER MAGNUM_DB_PASSWORD +fail_unless_db + +mysql -h ${MARIADB_SERVICE_HOST} -u root -p${DB_ROOT_PASSWORD} mysql <<EOF +CREATE DATABASE IF NOT EXISTS ${MAGNUM_DB_NAME} DEFAULT CHARACTER SET utf8; +GRANT ALL PRIVILEGES ON ${MAGNUM_DB_NAME}.* TO + '${MAGNUM_DB_USER}'@'%' IDENTIFIED BY '${MAGNUM_DB_PASSWORD}' +EOF + +/usr/bin/magnum-db-manage upgrade + +exec /usr/bin/magnum-conductor diff --git a/docker/common/magnum/magnum-conductor/start.sh b/docker/common/magnum/magnum-conductor/start.sh index 4cf1291a3..07f3b1ac4 100755 --- a/docker/common/magnum/magnum-conductor/start.sh +++ b/docker/common/magnum/magnum-conductor/start.sh @@ -1,17 +1,14 @@ #!/bin/bash -. /opt/kolla/kolla-common.sh -. /opt/kolla/config-magnum.sh +set -o errexit -check_required_vars MAGNUM_DB_NAME MAGNUM_DB_USER MAGNUM_DB_PASSWORD -fail_unless_db +CMD="/usr/bin/magnum-conductor" +ARGS="" -mysql -h ${MARIADB_SERVICE_HOST} -u root -p${DB_ROOT_PASSWORD} mysql <<EOF -CREATE DATABASE IF NOT EXISTS ${MAGNUM_DB_NAME} DEFAULT CHARACTER SET utf8; -GRANT ALL PRIVILEGES ON ${MAGNUM_DB_NAME}.* TO - '${MAGNUM_DB_USER}'@'%' IDENTIFIED BY '${MAGNUM_DB_PASSWORD}' -EOF +# Loading common functions. +source /opt/kolla/kolla-common.sh -/usr/bin/magnum-db-manage upgrade +# Config-internal script exec out of this function, it does not return here. +set_configs -exec /usr/bin/magnum-conductor +exec $CMD $ARGS |
