diff options
Diffstat (limited to 'docker/keystone/start.sh')
| -rwxr-xr-x | docker/keystone/start.sh | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/docker/keystone/start.sh b/docker/keystone/start.sh new file mode 100755 index 000000000..d964b0303 --- /dev/null +++ b/docker/keystone/start.sh @@ -0,0 +1,48 @@ +#!/bin/bash + +set -o errexit + +# Loading common functions +source /opt/kolla/kolla-common.sh + +if [[ "${KOLLA_BASE_DISTRO}" == "ubuntu" || \ + "${KOLLA_BASE_DISTRO}" == "debian" ]]; then + CMD="/usr/sbin/apache2" + ARGS="-DFOREGROUND" + + # Loading Apache2 ENV variables + source /etc/apache2/envvars +else + CMD="/usr/sbin/httpd" + ARGS="-DFOREGROUND" +fi + +# Execute config strategy +set_configs + +# 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 "keystone-manage db_sync" keystone + + # Start the api to set initial endpoint and users with the admin_token + $CMD + sleep 5 + + keystone service-create --name keystone --type identity \ + --description "OpenStack Identity" + keystone endpoint-create --region "${REGION_NAME}" \ + --publicurl "${PUBLIC_URL}" \ + --internalurl "${INTERNAL_URL}" \ + --adminurl "${ADMIN_URL}" \ + --service-id $(keystone service-list | awk '/ identity / {print $2}') + + keystone tenant-create --description "Admin Project" --name admin + keystone user-create --pass "${KEYSTONE_ADMIN_PASSWORD}" --name admin + keystone role-create --name admin + keystone user-role-add --user admin --tenant admin --role admin + + exit 0 +fi + +exec $CMD $ARGS |
