aboutsummaryrefslogtreecommitdiff
path: root/docker/common/nova-controller/nova-conductor
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-07-03 07:15:30 +0000
committerGerrit Code Review <review@openstack.org>2015-07-03 07:15:30 +0000
commit5dafe4e77959f96094842082d9bd69e626c3560a (patch)
treec794ce914b51d820e2f31c0adb29a091f460c55d /docker/common/nova-controller/nova-conductor
parent0dbf3e2e1186ede177aa053ebc8c738d996d50ff (diff)
parent9970519b4ed752b4a33e6125d1d09d51b75b8c5b (diff)
downloadkolla-5dafe4e77959f96094842082d9bd69e626c3560a.tar.gz
kolla-5dafe4e77959f96094842082d9bd69e626c3560a.zip
Merge "Add config-internal/config-external to Nova-controller containers"
Diffstat (limited to 'docker/common/nova-controller/nova-conductor')
-rwxr-xr-xdocker/common/nova-controller/nova-conductor/config-external.sh10
-rwxr-xr-xdocker/common/nova-controller/nova-conductor/config-internal.sh26
-rwxr-xr-xdocker/common/nova-controller/nova-conductor/start.sh32
3 files changed, 49 insertions, 19 deletions
diff --git a/docker/common/nova-controller/nova-conductor/config-external.sh b/docker/common/nova-controller/nova-conductor/config-external.sh
new file mode 100755
index 000000000..ea3b123ec
--- /dev/null
+++ b/docker/common/nova-controller/nova-conductor/config-external.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+SOURCE="/opt/kolla/nova-conductor/nova.conf"
+TARGET="/etc/nova/nova.conf"
+OWNER="nova"
+
+if [[ -f "$SOURCE" ]]; then
+ cp $SOURCE $TARGET
+ chown ${OWNER}: $TARGET
+ chmod 0644 $TARGET
+fi
diff --git a/docker/common/nova-controller/nova-conductor/config-internal.sh b/docker/common/nova-controller/nova-conductor/config-internal.sh
new file mode 100755
index 000000000..3bba8cf3a
--- /dev/null
+++ b/docker/common/nova-controller/nova-conductor/config-internal.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+set -e
+
+. /opt/kolla/config-nova.sh
+
+check_required_vars NOVA_DB_NAME NOVA_DB_USER NOVA_DB_PASSWORD \
+ INIT_NOVA_DB
+fail_unless_db
+
+cfg=/etc/nova/nova.conf
+
+# configure logging
+crudini --set $cfg DEFAULT log_file "${NOVA_CONDUCTOR_LOG_FILE}"
+
+if [ "${INIT_NOVA_DB}" == "true" ]; then
+ mysql -h ${MARIADB_SERVICE_HOST} -u root -p${DB_ROOT_PASSWORD} mysql <<EOF
+CREATE DATABASE IF NOT EXISTS ${NOVA_DB_NAME};
+GRANT ALL PRIVILEGES ON ${NOVA_DB_NAME}.* TO
+ '${NOVA_DB_USER}'@'%' IDENTIFIED BY '${NOVA_DB_PASSWORD}'
+EOF
+
+ nova-manage db sync
+fi
+
+exec /usr/bin/nova-conductor --config-file /etc/nova/nova.conf
diff --git a/docker/common/nova-controller/nova-conductor/start.sh b/docker/common/nova-controller/nova-conductor/start.sh
index 3bba8cf3a..e3a322719 100755
--- a/docker/common/nova-controller/nova-conductor/start.sh
+++ b/docker/common/nova-controller/nova-conductor/start.sh
@@ -1,26 +1,20 @@
#!/bin/bash
+set -o errexit
-set -e
+CMD="/usr/bin/nova-conductor"
+ARGS=""
-. /opt/kolla/config-nova.sh
+# Loading common functions.
+source /opt/kolla/kolla-common.sh
-check_required_vars NOVA_DB_NAME NOVA_DB_USER NOVA_DB_PASSWORD \
- INIT_NOVA_DB
-fail_unless_db
+# Config-internal script exec out of this function, it does not return here.
+set_configs
-cfg=/etc/nova/nova.conf
-
-# configure logging
-crudini --set $cfg DEFAULT log_file "${NOVA_CONDUCTOR_LOG_FILE}"
-
-if [ "${INIT_NOVA_DB}" == "true" ]; then
- mysql -h ${MARIADB_SERVICE_HOST} -u root -p${DB_ROOT_PASSWORD} mysql <<EOF
-CREATE DATABASE IF NOT EXISTS ${NOVA_DB_NAME};
-GRANT ALL PRIVILEGES ON ${NOVA_DB_NAME}.* TO
- '${NOVA_DB_USER}'@'%' IDENTIFIED BY '${NOVA_DB_PASSWORD}'
-EOF
-
- nova-manage db sync
+# 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 "nova-manage db sync" nova
+ exit 0
fi
-exec /usr/bin/nova-conductor --config-file /etc/nova/nova.conf
+exec $CMD $ARGS