aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorLars Kellogg-Stedman <lars@redhat.com>2014-10-14 11:13:46 -0400
committerLars Kellogg-Stedman <lars@redhat.com>2014-10-14 11:13:46 -0400
commit20e88776bc9b85b2a3a0f7a86004f6b04520e9a8 (patch)
treed3af10bc66bcf625249487c97b3ef6ee1633b8f3 /docker
parent4ab92d26e6fb7eff153678132210506499cb6ea2 (diff)
downloadkolla-20e88776bc9b85b2a3a0f7a86004f6b04520e9a8.tar.gz
kolla-20e88776bc9b85b2a3a0f7a86004f6b04520e9a8.zip
do not perform database or keystone setup in nova-compute
- do not perform database or keystone initialization in nova-compute image (these should happen in the controller images). - fix incorrect nova.conf path - configure keystone_authtoken correct NB: This still won't result in a working image, because it does not configure the RPC settings yet. That will be for a subsequent patch. Change-Id: Icbd66104ef817d360c46003b29fff63f66ace8d2
Diffstat (limited to 'docker')
-rwxr-xr-xdocker/nova-compute/nova-compute/start.sh78
1 files changed, 37 insertions, 41 deletions
diff --git a/docker/nova-compute/nova-compute/start.sh b/docker/nova-compute/nova-compute/start.sh
index 45946332d..b1d10c4d8 100755
--- a/docker/nova-compute/nova-compute/start.sh
+++ b/docker/nova-compute/nova-compute/start.sh
@@ -1,48 +1,44 @@
#!/bin/sh
-: ${NOVA_DB_USER:=nova}
-: ${NOVA_DB_NAME:=nova}
-: ${KEYSTONE_AUTH_PROTOCOL:=http}
+. /opt/kolla/kolla-common.sh
+
: ${NOVA_KEYSTONE_USER:=nova}
: ${ADMIN_TENANT_NAME:=admin}
-if ! [ "$KEYSTONE_ADMIN_TOKEN" ]; then
- echo "*** Missing KEYSTONE_ADMIN_TOKEN" >&2
- exit 1
-fi
-
-if ! [ "$DB_ROOT_PASSWORD" ]; then
- echo "*** Missing DB_ROOT_PASSWORD" >&2
- exit 1
-fi
-
-if ! [ "$NOVA_DB_PASSWORD" ]; then
- NOVA_DB_PASSWORD=$(openssl rand -hex 15)
- export NOVA_DB_PASSWORD
-fi
-
-mysql -h ${MARIADB_PORT_3306_TCP_ADDR} -u root \
- -p${DB_ROOT_PASSWORD} mysql <<EOF
-CREATE DATABASE IF NOT EXISTS ${NOVA_DB_NAME};
-GRANT ALL PRIVILEGES ON nova* TO
- '${NOVA_DB_USER}'@'%' IDENTIFIED BY '${NOVA_DB_PASSWORD}'
-EOF
-
-crudini --set /etc/nova/nova database connection \
- "mysql://nova:${NOVA_DB_PASSWORD}@${MARIADB_PORT_3306_TCP_ADDR}:${MARIADB_PORT_3306_TCP_PORT}/nova"
-crudini --set /etc/nova/nova DEFAULT admin_token "${KEYSTONE_ADMIN_TOKEN}"
-crudini --del /etc/nova/nova DEFAULT log_file
-crudini --del /etc/nova/nova DEFAULT log_dir
-crudini --set /etc/nova/nova DEFAULT use_stderr True
-crudini --set /etc/keystone/keystone.conf libvirt connection_uri qemu+tcp://${NOVA_PORT_16509_TCP_PORT}/system
-
-/usr/bin/nova-manage db_sync
-
-export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}"
-export SERVICE_ENDPOINT="${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONE_ADMIN_PORT_35357_TCP_ADDR}:35357/v2.0"
-
-/usr/bin/keystone user-create --name ${NOVA_KEYSTONE_USER} --pass ${NOVA_ADMIN_PASSWORD}
-/usr/bin/keystone role-create --name ${NOVA_KEYSTONE_USER}
-/usr/bin/keystone user-role-add --user ${NOVA_KEYSTONE_USER} --role admin --tenant ${ADMIN_TENANT_NAME}
+check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_SERVICE_HOST
+
+cfg=/etc/nova/nova.conf
+
+crudini --set $cfg DEFAULT admin_token "${KEYSTONE_ADMIN_TOKEN}"
+crudini --sel $cfg DEFAULT log_file ""
+crudini --del $cfg DEFAULT log_dir
+crudini --set $cfg DEFAULT use_stderr True
+crudini --set $cfg \
+ libvirt \
+ connection_uri \
+ "qemu+tcp://${NOVA_PORT_16509_TCP_PORT}/system"
+
+for option in auth_protocol auth_host auth_port; do
+ crudini --del $cfg \
+ keystone_authtoken \
+ $option
+done
+
+crudini --set $cfg \
+ keystone_authtoken \
+ auth_uri \
+ "http://${KEYSTONE_SERVICE_HOST}:5000/"
+crudini --set $cfg \
+ keystone_authtoken \
+ admin_tenant_name \
+ "${ADMIN_TENANT_NAME}"
+crudini --set $cfg \
+ keystone_authtoken \
+ admin_user \
+ "${NOVA_KEYSTONE_USER}"
+crudini --set $cfg \
+ keystone_authtoken \
+ admin_password \
+ "${NOVA_KEYSTONE_PASSWORD}"
exec /usr/bin/nova-compute