From c3c41964f01f86b13c751f31845cf9e025a00aa3 Mon Sep 17 00:00:00 2001 From: Lars Kellogg-Stedman Date: Thu, 16 Oct 2014 11:10:53 -0400 Subject: [PATCH] changes to base nova configuration - correct typos/syntax errors in configuration scripts - make config script consistent with other images - do not create keystone entries in base image script Change-Id: I42986fe1b9c80c5b0735fd70294bce1a6223a3ca --- .../nova-controller/Dockerfile | 4 +- .../nova-controller/config-nova-controller.sh | 87 +++++++++++++++++++ .../nova-controller/nova-controller/start.sh | 36 -------- 3 files changed, 89 insertions(+), 38 deletions(-) create mode 100644 docker/nova-controller/nova-controller/config-nova-controller.sh delete mode 100644 docker/nova-controller/nova-controller/start.sh diff --git a/docker/nova-controller/nova-controller/Dockerfile b/docker/nova-controller/nova-controller/Dockerfile index aed0ad50a4..dddcd73fd4 100644 --- a/docker/nova-controller/nova-controller/Dockerfile +++ b/docker/nova-controller/nova-controller/Dockerfile @@ -5,5 +5,5 @@ RUN yum -y install openstack-nova-common \ python-keystoneclient \ python-nova && yum clean all -ADD ./start.sh /start.sh -CMD ["/start.sh"] +ADD config-nova-controller.sh /opt/kolla/config-nova-controller.sh + diff --git a/docker/nova-controller/nova-controller/config-nova-controller.sh b/docker/nova-controller/nova-controller/config-nova-controller.sh new file mode 100644 index 0000000000..efd55d64e5 --- /dev/null +++ b/docker/nova-controller/nova-controller/config-nova-controller.sh @@ -0,0 +1,87 @@ +#!/bin/sh + +. /opt/kolla/kolla-common.sh + +: ${NOVA_DB_USER:=nova} +: ${NOVA_DB_NAME:=nova} +: ${NOVA_KEYSTONE_USER:=admin} +: ${NOVA_KEYSTONE_PASSWORD:=kolla} +: ${ADMIN_TENANT_NAME:=admin} +: ${RABBIT_USERID:=guest} +: ${RABBIT_PASSWORD:=guest} + +check_required_vars KEYSTONE_ADMIN_TOKEN + NOVA_DB_PASSWORD NEUTRON_SHARED_SECRET + +cfg=/etc/nova/nova.conf + +crudini --set $cfg DEFAULT amqp_durable_queues False +crudini --set $cfg DEFAULT rabbit_host ${RABBITMQ_SERVICE_HOST} +crudini --set $cfg DEFAULT rabbit_port 5672 +crudini --set $cfg DEFAULT rabbit_hosts ${RABBITMQ_SERVICE_HOST}:5672 +crudini --set $cfg DEFAULT rabbit_use_ssl False +crudini --set $cfg DEFAULT rabbit_userid ${RABBIT_USERID} +crudini --set $cfg DEFAULT rabbit_password "${RABBIT_PASSWORD}" +crudini --set $cfg DEFAULT rabbit_virtual_host / +crudini --set $cfg DEFAULT rabbit_ha_queues False +crudini --set $cfg DEFAULT rpc_backend nova.openstack.common.rpc.impl_kombu + +crudini --set $cfg DEFAULT enabled_apis ec2,osapi_compute,metadata +crudini --set $cfg DEFAULT ec2_listen 0.0.0.0 +crudini --set $cfg DEFAULT osapi_compute_listen 0.0.0.0 +crudini --set $cfg DEFAULT osapi_compute_workers 8 +crudini --set $cfg DEFAULT metadata_listen 0.0.0.0 +crudini --set $cfg DEFAULT metadata_workers 8 +crudini --set $cfg DEFAULT service_down_time 60 +crudini --set $cfg DEFAULT rootwrap_config /etc/nova/rootwrap.conf +crudini --set $cfg DEFAULT auth_strategy keystone +crudini --set $cfg DEFAULT use_forwarded_for False +crudini --set $cfg DEFAULT service_neutron_metadata_proxy True +crudini --set $cfg DEFAULT neutron_metadata_proxy_shared_secret ${NEUTRON_SHARED_SECRET} +crudini --set $cfg DEFAULT neutron_default_tenant_id default +crudini --set $cfg DEFAULT novncproxy_host 0.0.0.0 +crudini --set $cfg DEFAULT novncproxy_port 6080 +crudini --set $cfg DEFAULT glance_api_servers ${GLANCE_API_SERVICE_HOST}:9292 +crudini --set $cfg DEFAULT network_api_class nova.network.neutronv2.api.API +crudini --set $cfg DEFAULT metadata_host ${MY_IP} +crudini --set $cfg DEFAULT cpu_allocation_ratio 16.0 +crudini --set $cfg DEFAULT ram_allocation_ratio 1.5 +crudini --set $cfg DEFAULT scheduler_default_filters RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,CoreFilter +crudini --set $cfg DEFAULT compute_driver nova.virt.libvirt.LibvirtDriver +crudini --set $cfg DEFAULT vif_plugging_is_fatal True +crudini --set $cfg DEFAULT vif_plugging_timeout 300 +crudini --set $cfg DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver +crudini --set $cfg DEFAULT novncproxy_base_url http://${PUBLIC_IP}:6080/vnc_auto.html +crudini --set $cfg DEFAULT vncserver_listen 0.0.0.0 +crudini --set $cfg DEFAULT vncserver_proxyclient_address ${MY_IP} +crudini --set $cfg DEFAULT vnc_enabled True +crudini --set $cfg DEFAULT volume_api_class nova.volume.cinder.API +crudini --set $cfg DEFAULT image_service nova.image.glance.GlanceImageService +crudini --set $cfg DEFAULT osapi_volume_listen 0.0.0.0 + +# configure logging to stderr +crudini --del $cfg DEFAULT log_dir +crudini --sel $cfg DEFAULT log_file "" +crudini --set $cfg DEFAULT use_stderr True +crudini --set $cfg DEFAULT admin_token "${KEYSTONE_ADMIN_TOKEN}" + +crudini --set $cfg conductor workers 8 + +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_PUBLIC_SERVICE_HOST}:5000/" +crudini --set $cfg keystone_authtoken admin_user ${NOVA_KEYSTONE_USER} +crudini --set $cfg keystone_authtoken admin_password "${NOVA_KEYSTONE_PASSWORD}" +crudini --set $cfg keystone_authtoken admin_tenant_name ${ADMIN_TENANT_NAME} + +cat > /openrc <&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 - -while read; do - LINE="$REPLY" - /bin/bash $LINE -done < $NOVA_CONFIG - -export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}" -export SERVICE_ENDPOINT="${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONEMASTER_35357_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}