summaryrefslogtreecommitdiff
path: root/openstack-ironic.configure
diff options
context:
space:
mode:
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
##########################################################################