summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTiago Gomes <tiago.gomes@codethink.co.uk>2015-04-28 13:12:12 +0000
committerPedro Alvarez <pedro.alvarez@codethink.co.uk>2015-05-01 12:20:35 +0000
commitcbbbca7493e907a0670c2cff39d8d341ce2915d8 (patch)
tree1b52f723d0574286cac7b3a56a28fadcae08b09a
parentc641db63dd75272033e60aade60b46c4f4c7f2ff (diff)
downloaddefinitions-cbbbca7493e907a0670c2cff39d8d341ce2915d8.tar.gz
openstack: enable keystone only in the controller
Change-Id: I43f1cd43645ff8358a1d8d699352438633124038
-rw-r--r--clusters/openstack-one-node.morph1
-rw-r--r--clusters/openstack-three-node-installer.morph3
-rw-r--r--clusters/openstack-two-node-installer.morph3
-rw-r--r--openstack-keystone.configure51
4 files changed, 38 insertions, 20 deletions
diff --git a/clusters/openstack-one-node.morph b/clusters/openstack-one-node.morph
index b2971841..497a0ba4 100644
--- a/clusters/openstack-one-node.morph
+++ b/clusters/openstack-one-node.morph
@@ -55,6 +55,7 @@ systems:
CONTROLLER_HOST_ADDRESS: onenode
MANAGEMENT_INTERFACE_IP_ADDRESS: <management ip>
+ KEYSTONE_ENABLE_SERVICE: True
KEYSTONE_TEMPORARY_ADMIN_TOKEN: 22f3aa1cf538e3f6d5e8
KEYSTONE_ADMIN_PASSWORD: veryinsecure
KEYSTONE_DB_USER: keystoneDB
diff --git a/clusters/openstack-three-node-installer.morph b/clusters/openstack-three-node-installer.morph
index af293232..ff82f20f 100644
--- a/clusters/openstack-three-node-installer.morph
+++ b/clusters/openstack-three-node-installer.morph
@@ -90,6 +90,7 @@ systems:
RABBITMQ_PASSWORD: veryinsecure
# This token needs to be unique and secret
+ KEYSTONE_ENABLE_SERVICE: False
KEYSTONE_TEMPORARY_ADMIN_TOKEN: 22f3aa1cf538e3f6d5e8
KEYSTONE_ADMIN_PASSWORD: veryinsecure
KEYSTONE_DB_USER: keystoneDB
@@ -171,6 +172,8 @@ systems:
<<: *stack-node
HOSTNAME: threenode-controller
+ KEYSTONE_ENABLE_SERVICE: True
+
NOVA_ENABLE_CONTROLLER: True
CINDER_ENABLE_CONTROLLER: True
diff --git a/clusters/openstack-two-node-installer.morph b/clusters/openstack-two-node-installer.morph
index 7295a534..93d126bc 100644
--- a/clusters/openstack-two-node-installer.morph
+++ b/clusters/openstack-two-node-installer.morph
@@ -89,6 +89,7 @@ systems:
RABBITMQ_PASSWORD: veryinsecure
# This token needs to be unique and secret
+ KEYSTONE_ENABLE_SERVICE: True
KEYSTONE_TEMPORARY_ADMIN_TOKEN: 22f3aa1cf538e3f6d5e8
KEYSTONE_ADMIN_PASSWORD: veryinsecure
KEYSTONE_DB_USER: keystoneDB
@@ -168,6 +169,8 @@ systems:
<<: *stack-node
HOSTNAME: twonode-compute
+ KEYSTONE_ENABLE_SERVICE: False
+
NOVA_ENABLE_COMPUTE: True
NOVA_ENABLE_CONTROLLER: False
diff --git a/openstack-keystone.configure b/openstack-keystone.configure
index 484a37b5..2a3cc0f7 100644
--- a/openstack-keystone.configure
+++ b/openstack-keystone.configure
@@ -18,32 +18,37 @@ set -e
ROOT="$1"
-##########################################################################
-
-ln -s "/usr/lib/systemd/system/openstack-keystone-setup.service" \
- "$ROOT/etc/systemd/system/multi-user.target.wants/openstack-keystone-setup.service"
+enable(){
+ ln -sf "/usr/lib/systemd/system/$1.service" \
+ "$ROOT/etc/systemd/system/multi-user.target.wants/$1.service"
+}
-ln -s "/usr/lib/systemd/system/openstack-horizon-setup.service" \
- "$ROOT/etc/systemd/system/multi-user.target.wants/openstack-horizon-setup.service"
+unnaceptable(){
+ eval echo Unexpected value \$$1 for $1 >&2
+ exit 1
+}
-ln -s "/usr/lib/systemd/system/postgres-server-setup.service" \
- "$ROOT/etc/systemd/system/multi-user.target.wants/postgres-server-setup.service"
+check_bool(){
+ case "$(eval echo \"\$$1\")" in
+ True|'')
+ eval "$1=true"
+ ;;
+ False)
+ eval "$1=false"
+ ;;
+ *)
+ unnaceptable "$1"
+ ;;
+ esac
+}
##########################################################################
# Check variables
##########################################################################
-if [ -z "$KEYSTONE_TEMPORARY_ADMIN_TOKEN" -a \
- -z "$KEYSTONE_ADMIN_PASSWORD" -a \
- -z "$KEYSTONE_DB_USER" -a \
- -z "$KEYSTONE_DB_PASSWORD" -a \
- -z "$RABBITMQ_HOST" -a \
- -z "$RABBITMQ_PORT" -a \
- -z "$RABBITMQ_USER" -a \
- -z "$RABBITMQ_PASSWORD" -a \
- -z "$MANAGEMENT_INTERFACE_IP_ADDRESS" -a \
- -z "$CONTROLLER_HOST_ADDRESS" ]; then
- # No Keystone options defined, do nothing.
+check_bool KEYSTONE_ENABLE_SERVICE
+
+if ! "$KEYSTONE_ENABLE_SERVICE"; then
exit 0
fi
@@ -61,7 +66,6 @@ if [ -z "$KEYSTONE_TEMPORARY_ADMIN_TOKEN" -o \
exit 1
fi
-
python <<'EOF'
import socket
import sys
@@ -74,6 +78,13 @@ except:
sys.exit(1)
EOF
+######################################
+# Enable relevant openstack services #
+######################################
+
+enable openstack-keystone-setup
+enable openstack-horizon-setup
+enable postgres-server-setup
##########################################################################
# Generate configuration file