diff options
| author | Lars Kellogg-Stedman <lars@redhat.com> | 2014-10-14 11:13:46 -0400 |
|---|---|---|
| committer | Lars Kellogg-Stedman <lars@redhat.com> | 2014-10-14 11:13:46 -0400 |
| commit | 20e88776bc9b85b2a3a0f7a86004f6b04520e9a8 (patch) | |
| tree | d3af10bc66bcf625249487c97b3ef6ee1633b8f3 | |
| parent | 4ab92d26e6fb7eff153678132210506499cb6ea2 (diff) | |
| download | kolla-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
| -rwxr-xr-x | docker/nova-compute/nova-compute/start.sh | 78 |
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 |
