Make nova-compute work properly with libvirt
The nova-compute POD now starts and produces nearly correct output. It may be that the libvirt container needs additional attention as it is spitting out errors related to the firewall toolchain on the container. Change-Id: I5bcd21c59f341494206a09e882631185ce66f336
This commit is contained in:
parent
518e724845
commit
a14b8048c2
@ -19,5 +19,7 @@ RUN yum -y install curl \
|
||||
openstack-nova-compute \
|
||||
; yum clean all
|
||||
|
||||
ADD config-nova-compute.sh /opt/kolla/config-nova-compute.sh
|
||||
ADD ./start.sh /start.sh
|
||||
|
||||
CMD ["/start.sh"]
|
||||
|
89
docker/nova-compute/nova-compute/config-nova-compute.sh
Executable file
89
docker/nova-compute/nova-compute/config-nova-compute.sh
Executable file
@ -0,0 +1,89 @@
|
||||
#!/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 \
|
||||
NOVA_LIBVIRT_SERVICE_HOST
|
||||
|
||||
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_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
|
||||
crudini --set $cfg libvirt virt_type kvm
|
||||
crudini --set $cfg libvirt connection_uri qemu+tcp://${NOVA_LIBVIRT_SERVICE_HOS}/system
|
||||
|
||||
# configure logging to stderr
|
||||
crudini --del $cfg DEFAULT log_dir
|
||||
crudini --set $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 <<EOF
|
||||
export OS_AUTH_URL="http://${KEYSTONE_PUBLIC_SERVICE_HOST}:5000/v2.0"
|
||||
export OS_USERNAME="${NOVA_KEYSTONE_USER}"
|
||||
export OS_PASSWORD="${NOVA_KEYSTONE_PASSWORD}"
|
||||
export OS_TENANT_NAME="${ADMIN_TENANT_NAME}"
|
||||
EOF
|
||||
|
@ -1,45 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
. /opt/kolla/kolla-common.sh
|
||||
set -e
|
||||
|
||||
: ${NOVA_KEYSTONE_USER:=nova}
|
||||
: ${ADMIN_TENANT_NAME:=admin}
|
||||
|
||||
check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_SERVICE_HOST \
|
||||
NOVA_LIBVIRT_SERVICE
|
||||
|
||||
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_LIBVIRT_SERVICE}/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}"
|
||||
. /opt/kolla/config-nova-compute.sh
|
||||
|
||||
exec /usr/bin/nova-compute
|
||||
|
@ -30,7 +30,7 @@ desiredState:
|
||||
name: nova-compute
|
||||
replicaSelector:
|
||||
name: nova-compute
|
||||
replicas: 2
|
||||
replicas: 1
|
||||
id: nova-compute-controller
|
||||
kind: ReplicationController
|
||||
labels:
|
||||
|
@ -1,6 +1,6 @@
|
||||
apiVersion: v1beta1
|
||||
containerPort: 16509
|
||||
id: novalibvirt
|
||||
id: nova-libvirt
|
||||
kind: Service
|
||||
port: 16509
|
||||
selector:
|
||||
|
Loading…
Reference in New Issue
Block a user