summaryrefslogtreecommitdiffstats
path: root/tools/keystone/endpoint.sh
diff options
context:
space:
mode:
authorDimitri Mazmanov <dimitri.mazmanov@ericsson.com>2016-11-28 13:25:54 +0100
committerDimitri Mazmanov <dimitri.mazmanov@ericsson.com>2017-01-23 11:13:10 +0100
commite7fe8818ece870b88556f7bad78b589b26d19151 (patch)
tree874f74b7b7d59b3a432fdebb9041a78ad346af26 /tools/keystone/endpoint.sh
parent60dca59ac451300fae214776e82a068b2e8607da (diff)
Common auth configuration for Mulsite deployment
This set of scripts is used to configure centralized Keystone across multiple regions. Each script is executed during a certain stage of the automated multisite deployment setup via Jenkins [1]. region.sh - registers new endpoints in Keystone tagging them with RegionTwo. fetchpass.sh - reads service passwords in the master region and stores them in an encrypted file. endpoint.sh - reads the public_url, private_url and admin_url from RegionTwo and stores it in a file to be used during region registration phase. run.sh - is a generic proxy runner which triggers execution of any runnable on a target node (compute|controller). writepass.sh - updates service password entries in the configuration files for RegionTwo. [1] https://wiki.opnfv.org/display/multisite/Multisite+Deployment+Environment Change-Id: If2c91600237003a13cc0dc822924ab8d27ce202c Signed-off-by: Dimitri Mazmanov <dimitri.mazmanov@ericsson.com>
Diffstat (limited to 'tools/keystone/endpoint.sh')
-rwxr-xr-xtools/keystone/endpoint.sh30
1 files changed, 30 insertions, 0 deletions
diff --git a/tools/keystone/endpoint.sh b/tools/keystone/endpoint.sh
new file mode 100755
index 0000000..410a723
--- /dev/null
+++ b/tools/keystone/endpoint.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+#
+# Author: Dimitri Mazmanov (dimitri.mazmanov@ericsson.com)
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+
+set -o xtrace
+set -o errexit
+set -o nounset
+set -o pipefail
+
+# Ensure that openrc containing OpenStack environment variables is present.
+source openrc
+
+# Endpoints. Dynamically get IP addresses from another service (keystone)
+ENDPOINT_PUBLIC_URL=$(openstack endpoint list | grep keystone | grep public | cut -d '|' -f 8 | cut -d '/' -f 3 | cut -d ':' -f 1)
+ENDPOINT_ADMIN_URL=$(openstack endpoint list | grep keystone | grep admin | cut -d '|' -f 8 | cut -d '/' -f 3 | cut -d ':' -f 1)
+ENDPOINT_INTERNAL_URL=$(openstack endpoint list | grep keystone | grep internal | cut -d '|' -f 8 | cut -d '/' -f 3 | cut -d ':' -f 1)
+
+cat <<EOT >> /root/endpoints.ini
+[DEFAULT]
+public_url=${ENDPOINT_PUBLIC_URL}
+admin_url=${ENDPOINT_ADMIN_URL}
+private_url=${ENDPOINT_INTERNAL_URL}
+os_region=${OS_REGION}
+EOT