diff options
| author | Jenkins <jenkins@review.openstack.org> | 2015-07-03 07:15:30 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2015-07-03 07:15:30 +0000 |
| commit | 5dafe4e77959f96094842082d9bd69e626c3560a (patch) | |
| tree | c794ce914b51d820e2f31c0adb29a091f460c55d /docker/common/nova-controller/nova-conductor | |
| parent | 0dbf3e2e1186ede177aa053ebc8c738d996d50ff (diff) | |
| parent | 9970519b4ed752b4a33e6125d1d09d51b75b8c5b (diff) | |
| download | kolla-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')
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 |
