aboutsummaryrefslogtreecommitdiff
path: root/docker/keystone/start.sh
diff options
context:
space:
mode:
Diffstat (limited to 'docker/keystone/start.sh')
-rwxr-xr-xdocker/keystone/start.sh48
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