summaryrefslogtreecommitdiff
path: root/docker/nova-compute
diff options
context:
space:
mode:
authorDaneyon Hansen <danehans@cisco.com>2014-10-25 03:53:36 +0000
committerDaneyon Hansen <danehans@cisco.com>2014-11-17 17:47:40 +0000
commit05f352a12556e08ecf10155399b29360c491b76e (patch)
tree3b0e5ba4bceed901463040e17d01831d3ee04f83 /docker/nova-compute
parentb57caa7b67ed1747c7046afa41d1cbbee5802b69 (diff)
downloadkolla-05f352a12556e08ecf10155399b29360c491b76e.tar.gz
kolla-05f352a12556e08ecf10155399b29360c491b76e.zip
Adds support for Functional Nova-Network
Previously, the nova-network service was not fully functional. This patch adds multi-interface support to the nova-network container. The eth0 configuration is moved to a bridge (br100 per nova defaults), and configures eth0 and eth1 as bridged interfaces. eth0 is used for the nova-flat network and eth1 for foating-ip's. This model is identical to typical bare-metal nova-network deployments. The patch depends on the following patch to kube-heat template that provides multiple interfaces per minion: https://github.com/larsks/heat-kubernetes/pull/8 Rebased. Fixed merge conflict with k8s/pod/nova-compute-pod.yaml Change-Id: Ieb59f397981a226555ce55ca621ef578b987e3c6
Diffstat (limited to 'docker/nova-compute')
-rw-r--r--docker/nova-compute/nova-network/Dockerfile1
-rwxr-xr-xdocker/nova-compute/nova-network/config-nova-network.sh30
-rwxr-xr-xdocker/nova-compute/nova-network/start.sh11
3 files changed, 33 insertions, 9 deletions
diff --git a/docker/nova-compute/nova-network/Dockerfile b/docker/nova-compute/nova-network/Dockerfile
index fef8bb379..175ea0a68 100644
--- a/docker/nova-compute/nova-network/Dockerfile
+++ b/docker/nova-compute/nova-network/Dockerfile
@@ -4,6 +4,7 @@ MAINTAINER Kolla Project (https://launchpad.net/kolla)
RUN yum -y install openstack-nova-network \
bridge-utils && yum clean all
+ADD config-nova-network.sh /opt/kolla/config-nova-network.sh
ADD ./start.sh /start.sh
VOLUME [ "/var/lib/nova" ]
diff --git a/docker/nova-compute/nova-network/config-nova-network.sh b/docker/nova-compute/nova-network/config-nova-network.sh
new file mode 100755
index 000000000..bd060b3bc
--- /dev/null
+++ b/docker/nova-compute/nova-network/config-nova-network.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+. /opt/kolla/config-nova.sh
+
+check_required_vars CONFIG_NETWORK
+
+# Configure eth1 as a physcial interface for nova flat network
+cat > /etc/sysconfig/network-scripts/ifcfg-eth1 <<EOF
+DEVICE="eth1"
+BOOTPROTO="none"
+ONBOOT="yes"
+DEFROUTE="yes"
+TYPE="Ethernet"
+EOF
+
+/sbin/ifup eth1
+
+cfg=/etc/nova/nova.conf
+
+crudini --set $cfg DEFAULT network_manager nova.network.manager.FlatDHCPManager
+crudini --set $cfg DEFAULT firewall_driver nova.virt.libvirt.firewall.IptablesFirewallDriver
+crudini --set $cfg DEFAULT network_size 254
+crudini --set $cfg DEFAULT allow_same_net_traffic False
+crudini --set $cfg DEFAULT multi_host True
+crudini --set $cfg DEFAULT send_arp_for_ha True
+crudini --set $cfg DEFAULT share_dhcp_address True
+crudini --set $cfg DEFAULT force_dhcp_release True
+crudini --set $cfg DEFAULT flat_interface eth1
+crudini --set $cfg DEFAULT flat_network_bridge br100
+crudini --set $cfg DEFAULT public_interface eth0
diff --git a/docker/nova-compute/nova-network/start.sh b/docker/nova-compute/nova-network/start.sh
index 53d072b3f..b5fc89f85 100755
--- a/docker/nova-compute/nova-network/start.sh
+++ b/docker/nova-compute/nova-network/start.sh
@@ -2,14 +2,7 @@
set -e
-. /opt/kolla/config-nova.sh
-
-/usr/sbin/brctl addbr br100
-ip link set br100 up
-
-# This is a dummy interface
-ip link add flat0 type veth peer name flat1
-ip link set flat0 up
-ip link set flat1 up
+. /opt/kolla/config-nova-network.sh
+# Start nova-network
exec /usr/bin/nova-network