summaryrefslogtreecommitdiff
path: root/docker/nova-controller/nova-ctr-base
diff options
context:
space:
mode:
Diffstat (limited to 'docker/nova-controller/nova-ctr-base')
-rw-r--r--docker/nova-controller/nova-ctr-base/Dockerfile10
l---------docker/nova-controller/nova-ctr-base/build1
-rw-r--r--docker/nova-controller/nova-ctr-base/config-nova-controller.sh87
-rw-r--r--docker/nova-controller/nova-ctr-base/nova.conf73
4 files changed, 171 insertions, 0 deletions
diff --git a/docker/nova-controller/nova-ctr-base/Dockerfile b/docker/nova-controller/nova-ctr-base/Dockerfile
new file mode 100644
index 000000000..bad079994
--- /dev/null
+++ b/docker/nova-controller/nova-ctr-base/Dockerfile
@@ -0,0 +1,10 @@
+FROM kollaglue/fedora-rdo-base
+MAINTAINER Ryan Hallisey <rhallisey@redhat.com>
+
+RUN yum -y install openstack-nova-common \
+ python-keystoneclient \
+ python-cinderclient \
+ python-nova && yum clean all
+
+ADD config-nova-controller.sh /opt/kolla/config-nova-controller.sh
+
diff --git a/docker/nova-controller/nova-ctr-base/build b/docker/nova-controller/nova-ctr-base/build
new file mode 120000
index 000000000..43944faa0
--- /dev/null
+++ b/docker/nova-controller/nova-ctr-base/build
@@ -0,0 +1 @@
+../../../tools/build-docker-image \ No newline at end of file
diff --git a/docker/nova-controller/nova-ctr-base/config-nova-controller.sh b/docker/nova-controller/nova-ctr-base/config-nova-controller.sh
new file mode 100644
index 000000000..efd55d64e
--- /dev/null
+++ b/docker/nova-controller/nova-ctr-base/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 <<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
+
diff --git a/docker/nova-controller/nova-ctr-base/nova.conf b/docker/nova-controller/nova-ctr-base/nova.conf
new file mode 100644
index 000000000..0c29bd683
--- /dev/null
+++ b/docker/nova-controller/nova-ctr-base/nova.conf
@@ -0,0 +1,73 @@
+
+crudini --set /etc/nova/nova.conf DEFAULT amqp_durable_queues False
+crudini --set /etc/nova/nova.conf DEFAULT rabbit_host ${RABBITMQ_SERVICE_HOST}
+crudini --set /etc/nova/nova.conf DEFAULT rabbit_port 5672
+crudini --set /etc/nova/nova.conf DEFAULT rabbit_hosts ${RABBITMQ_SERVICE_HOST}:5672
+crudini --set /etc/nova/nova.conf DEFAULT rabbit_use_ssl False
+crudini --set /etc/nova/nova.conf DEFAULT rabbit_userid guest
+crudini --set /etc/nova/nova.conf DEFAULT rabbit_password guest
+crudini --set /etc/nova/nova.conf DEFAULT rabbit_virtual_host /
+crudini --set /etc/nova/nova.conf DEFAULT rabbit_ha_queues False
+crudini --set /etc/nova/nova.conf DEFAULT rpc_backend nova.openstack.common.rpc.impl_kombu
+
+crudini --set /etc/nova/nova.conf DEFAULT enabled_apis ec2,osapi_compute,metadata
+crudini --set /etc/nova/nova.conf DEFAULT ec2_listen 0.0.0.0
+crudini --set /etc/nova/nova.conf DEFAULT osapi_compute_listen 0.0.0.0
+crudini --set /etc/nova/nova.conf DEFAULT osapi_compute_workers 8
+crudini --set /etc/nova/nova.conf DEFAULT metadata_listen 0.0.0.0
+crudini --set /etc/nova/nova.conf DEFAULT metadata_workers 8
+crudini --set /etc/nova/nova.conf DEFAULT service_down_time 60
+crudini --set /etc/nova/nova.conf DEFAULT rootwrap_config /etc/nova/rootwrap.conf
+crudini --set /etc/nova/nova.conf DEFAULT auth_strategy keystone
+crudini --set /etc/nova/nova.conf DEFAULT use_forwarded_for False
+crudini --set /etc/nova/nova.conf DEFAULT service_neutron_metadata_proxy True
+crudini --set /etc/nova/nova.conf DEFAULT neutron_metadata_proxy_shared_secret f699603f131747f5
+crudini --set /etc/nova/nova.conf DEFAULT neutron_default_tenant_id default
+crudini --set /etc/nova/nova.conf DEFAULT novncproxy_host 0.0.0.0
+crudini --set /etc/nova/nova.conf DEFAULT novncproxy_port 6080
+crudini --set /etc/nova/nova.conf DEFAULT glance_api_servers ${GLANCE_API_SERVICE_HOST}:9292
+crudini --set /etc/nova/nova.conf DEFAULT network_api_class nova.network.neutronv2.api.API
+crudini --set /etc/nova/nova.conf DEFAULT metadata_host ${MY_IP}
+#crudini --set /etc/nova/nova.conf DEFAULT neutron_url http://${MY_IP}:9696
+#crudini --set /etc/nova/nova.conf DEFAULT neutron_url_timeout 30
+#crudini --set /etc/nova/nova.conf DEFAULT neutron_admin_username neutron
+#crudini --set /etc/nova/nova.conf DEFAULT neutron_admin_password 289fe12be92c4dd8
+#crudini --set /etc/nova/nova.conf DEFAULT neutron_admin_tenant_name services
+#crudini --set /etc/nova/nova.conf DEFAULT neutron_region_name RegionOne
+#crudini --set /etc/nova/nova.conf DEFAULT neutron_admin_auth_url http://${MY_IP}:35357/v2.0
+#crudini --set /etc/nova/nova.conf DEFAULT neutron_auth_strategy keystone
+#crudini --set /etc/nova/nova.conf DEFAULT neutron_ovs_bridge br-int
+#crudini --set /etc/nova/nova.conf DEFAULT neutron_extension_sync_interval 600
+#crudini --set /etc/nova/nova.conf DEFAULT security_group_api neutron
+#crudini --set /etc/nova/nova.conf DEFAULT lock_path /var/lib/nova/tmp
+#crudini --set /etc/nova/nova.conf DEFAULT debug False
+#crudini --set /etc/nova/nova.conf DEFAULT verbose True
+#crudini --set /etc/nova/nova.conf DEFAULT use_syslog False
+crudini --set /etc/nova/nova.conf DEFAULT cpu_allocation_ratio 16.0
+crudini --set /etc/nova/nova.conf DEFAULT ram_allocation_ratio 1.5
+crudini --set /etc/nova/nova.conf DEFAULT scheduler_default_filters RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,CoreFilter
+crudini --set /etc/nova/nova.conf DEFAULT compute_driver nova.virt.libvirt.LibvirtDriver
+crudini --set /etc/nova/nova.conf DEFAULT vif_plugging_is_fatal True
+crudini --set /etc/nova/nova.conf DEFAULT vif_plugging_timeout 300
+crudini --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver
+crudini --set /etc/nova/nova.conf DEFAULT novncproxy_base_url http://${MY_IP}:6080/vnc_auto.html
+crudini --set /etc/nova/nova.conf DEFAULT vncserver_listen 0.0.0.0
+crudini --set /etc/nova/nova.conf DEFAULT vncserver_proxyclient_address ${MY_IP}
+crudini --set /etc/nova/nova.conf DEFAULT vnc_enabled True
+crudini --set /etc/nova/nova.conf DEFAULT volume_api_class nova.volume.cinder.API
+crudini --set /etc/nova/nova.conf DEFAULT image_service nova.image.glance.GlanceImageService
+crudini --set /etc/nova/nova.conf DEFAULT osapi_volume_listen 0.0.0.0
+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/nova/nova DEFAULT admin_token ${KEYSTONE_ADMIN_TOKEN}
+
+crudini --set /etc/nova/nova.conf conductor workers 8
+
+crudini --set /etc/nova/nova.conf keystone_authtoken auth_host ${MY_IP}
+crudini --set /etc/nova/nova.conf keystone_authtoken auth_port 35357
+crudini --set /etc/nova/nova.conf keystone_authtoken auth_protocol ${KEYSTONE_AUTH_PROTOCOL}
+crudini --set /etc/nova/nova.conf keystone_authtoken auth_uri "http://${KEYSTONE_PUBLIC_SERVICE_HOST}:5000/"
+crudini --set /etc/nova/nova.conf keystone_authtoken admin_user ${NOVA_KEYSTONE_USER}
+crudini --set /etc/nova/nova.conf keystone_authtoken admin_password ${NOVA_ADMIN_PASSWORD}
+crudini --set /etc/nova/nova.conf keystone_authtoken admin_tenant_name ${ADMIN_TENANT_NAME}