From 0c8080296d1d391dcfade14e08e655c094e42745 Mon Sep 17 00:00:00 2001 From: Steven Dake Date: Fri, 17 Oct 2014 13:20:17 -0700 Subject: Change to using flat nova networking from neutron Neutron is not yet ready, so use flat nova networking instead. Change-Id: I4905f2a54af2c0c06cc8cf95d21f5831b02fbe5e --- docker/nova-compute/nova-compute/Dockerfile | 26 +++++++++------------- .../nova-compute/config-nova-compute.sh | 11 ++++----- docker/nova-compute/nova-compute/start.sh | 6 +++++ docker/nova-compute/nova-libvirt/Dockerfile | 2 ++ docker/nova-compute/nova-network/Dockerfile | 12 ++++++++++ docker/nova-compute/nova-network/build | 1 + docker/nova-compute/nova-network/start.sh | 8 +++++++ 7 files changed, 45 insertions(+), 21 deletions(-) create mode 100644 docker/nova-compute/nova-network/Dockerfile create mode 120000 docker/nova-compute/nova-network/build create mode 100755 docker/nova-compute/nova-network/start.sh (limited to 'docker/nova-compute') diff --git a/docker/nova-compute/nova-compute/Dockerfile b/docker/nova-compute/nova-compute/Dockerfile index ecd6b558f..e13e71eee 100644 --- a/docker/nova-compute/nova-compute/Dockerfile +++ b/docker/nova-compute/nova-compute/Dockerfile @@ -1,24 +1,18 @@ FROM kollaglue/fedora-rdo-nova-base MAINTAINER Steven Dake -# broken out by operation - we don't need libvirt and -# 200 deps for libguestfs (?) -RUN yum -y install curl \ - iscsi-initiator-utils \ - iptables \ - iptables-ipv6 \ - ipmitool \ - libvirt-python \ - python-libguestfs \ - openssh-clients \ - rsync \ - lvm2 \ - genisoimage \ - bridge-utils \ - openstack-nova-compute \ - ; yum clean all +RUN yum -y install openstack-nova-compute \ + libvirtd; yum clean all ADD config-nova-compute.sh /opt/kolla/config-nova-compute.sh +ADD libvirt-start.sh /opt/kolla/libvirt-start.sh + ADD ./start.sh /start.sh +RUN mkdir -p /var/lib/libvirt/images/ + +VOLUME [ "/sys/fs/cgroup" ] +VOLUME [ "/var/lib/nova" ] +VOLUME [ "/var/lib/libvirt" ] + CMD ["/start.sh"] diff --git a/docker/nova-compute/nova-compute/config-nova-compute.sh b/docker/nova-compute/nova-compute/config-nova-compute.sh index 7ced0cac6..ddc38809d 100755 --- a/docker/nova-compute/nova-compute/config-nova-compute.sh +++ b/docker/nova-compute/nova-compute/config-nova-compute.sh @@ -3,11 +3,12 @@ . /opt/kolla/kolla-common.sh . /opt/kolla/config-nova.sh -check_required_vars NOVA_LIBVIRT_SERVICE_HOST +#check_required_vars NOVA_LIBVIRT_SERVICE_HOST cfg=/etc/nova/nova.conf -crudini --set $cfg libvirt virt_type kvm -crudini --set $cfg libvirt \ - connection_uri qemu+tcp://${NOVA_LIBVIRT_SERVICE_HOS}/system - +crudini --set $cfg libvirt virt_type qemu +# separate containers don't work because of libguestfs bug +# https://bugzilla.redhat.com/show_bug.cgi?id=1154408 +#crudini --set $cfg libvirt \ +# connection_uri qemu+tcp://${NOVA_LIBVIRT_SERVICE_HOST}/system diff --git a/docker/nova-compute/nova-compute/start.sh b/docker/nova-compute/nova-compute/start.sh index 3e39ec9c0..9aebdd636 100755 --- a/docker/nova-compute/nova-compute/start.sh +++ b/docker/nova-compute/nova-compute/start.sh @@ -4,4 +4,10 @@ set -e . /opt/kolla/config-nova-compute.sh +# ideally this would be a separate container, but because of libguestfs RFEs +# this is not possible. +. /opt/kolla/libvirt-start.sh + +sleep 5 + exec /usr/bin/nova-compute diff --git a/docker/nova-compute/nova-libvirt/Dockerfile b/docker/nova-compute/nova-libvirt/Dockerfile index a37d97cff..9ecfc743a 100644 --- a/docker/nova-compute/nova-libvirt/Dockerfile +++ b/docker/nova-compute/nova-libvirt/Dockerfile @@ -15,6 +15,8 @@ RUN echo 'LIBVIRTD_ARGS="--listen"' >> /etc/sysconfig/libvirtd RUN mkdir -p /var/lib/libvirt/images/ VOLUME [ "/sys/fs/cgroup" ] +VOLUME [ "/var/lib/nova" ] ADD ./start.sh /start.sh + CMD ["/start.sh"] diff --git a/docker/nova-compute/nova-network/Dockerfile b/docker/nova-compute/nova-network/Dockerfile new file mode 100644 index 000000000..135c03f4f --- /dev/null +++ b/docker/nova-compute/nova-network/Dockerfile @@ -0,0 +1,12 @@ +FROM kollaglue/fedora-rdo-nova-base +MAINTAINER Steven Dake + +RUN yum -y install openstack-nova-network \ + ; yum clean all + +ADD ./start.sh /start.sh + +VOLUME [ "/var/lib/nova" ] +VOLUME [ "/var/lib/libvirt" ] + +CMD ["/start.sh"] diff --git a/docker/nova-compute/nova-network/build b/docker/nova-compute/nova-network/build new file mode 120000 index 000000000..43944faa0 --- /dev/null +++ b/docker/nova-compute/nova-network/build @@ -0,0 +1 @@ +../../../tools/build-docker-image \ No newline at end of file diff --git a/docker/nova-compute/nova-network/start.sh b/docker/nova-compute/nova-network/start.sh new file mode 100755 index 000000000..a925cefc9 --- /dev/null +++ b/docker/nova-compute/nova-network/start.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +set -e + +. /opt/kolla/config-common.sh +. /opt/kolla/config-nova.sh + +exec /usr/bin/nova-network -- cgit v1.2.3