summaryrefslogtreecommitdiff
path: root/openstack-ironic.configure
diff options
context:
space:
mode:
authorTiago Gomes <tiago.gomes@codethink.co.uk>2015-04-21 10:09:22 +0000
committerBaserock Gerrit <gerrit@baserock.org>2015-04-24 13:50:34 +0000
commitdcb95e689f2f61a61ef50822f8cb0e9543c8005d (patch)
tree7c7b8f522eee72c60365f44a17f33cd2f2aa8fdc /openstack-ironic.configure
parent81b6779dddcf977daf26db193c8bcd016066e044 (diff)
downloaddefinitions-dcb95e689f2f61a61ef50822f8cb0e9543c8005d.tar.gz
Enable Ironic on the three-node OpenStack system
Also avoid running it on the compute machine on a two-node OpenStack system. Change-Id: I091bb4641291aaf1d699be2bd433cbda1f87d743
Diffstat (limited to 'openstack-ironic.configure')
-rw-r--r--openstack-ironic.configure48
1 files changed, 32 insertions, 16 deletions
diff --git a/openstack-ironic.configure b/openstack-ironic.configure
index 50d8e5c6..7c9c0ffd 100644
--- a/openstack-ironic.configure
+++ b/openstack-ironic.configure
@@ -19,28 +19,38 @@ set -e
ROOT="$1"
-##########################################################################
+enable(){
+ ln -sf "/usr/lib/systemd/system/$1.service" \
+ "$ROOT/etc/systemd/system/multi-user.target.wants/$1.service"
+}
+
+unnaceptable(){
+ eval echo Unexpected value \$$1 for $1 >&2
+ exit 1
+}
-ln -sf "/usr/lib/systemd/system/openstack-ironic-setup.service" \
- "$ROOT/etc/systemd/system/multi-user.target.wants/openstack-ironic-setup.service"
+check_bool(){
+ case "$(eval echo \"\$$1\")" in
+ True|'')
+ eval "$1=true"
+ ;;
+ False)
+ eval "$1=false"
+ ;;
+ *)
+ unnaceptable "$1"
+ ;;
+ esac
+}
##########################################################################
# Check variables
##########################################################################
-if [ -z "$IRONIC_SERVICE_USER" -a \
- -z "$IRONIC_SERVICE_PASSWORD" -a \
- -z "$IRONIC_DB_USER" -a \
- -z "$IRONIC_DB_PASSWORD" -a \
- -z "$RABBITMQ_HOST" -a \
- -z "$RABBITMQ_USER" -a \
- -z "$RABBITMQ_PASSWORD" -a \
- -z "$RABBITMQ_PORT" -a \
- -z "$CONTROLLER_HOST_ADDRESS" -a \
- -z "$MANAGEMENT_INTERFACE_IP_ADDRESS" -a \
- -z "$KEYSTONE_TEMPORARY_ADMIN_TOKEN" ]; then
- # No Ironic options defined, do nothing.
- exit 0
+check_bool IRONIC_ENABLE_SERVICE
+
+if ! "$IRONIC_ENABLE_SERVICE"; then
+ exit 0
fi
if [ -z "$IRONIC_SERVICE_USER" -o \
@@ -58,6 +68,12 @@ if [ -z "$IRONIC_SERVICE_USER" -o \
exit 1
fi
+######################################
+# Enable relevant openstack services #
+######################################
+
+enable openstack-ironic-setup
+
##########################################################################
# Generate configuration file
##########################################################################