diff options
| author | Daneyon Hansen <danehans@cisco.com> | 2014-10-25 03:53:36 +0000 |
|---|---|---|
| committer | Daneyon Hansen <danehans@cisco.com> | 2014-11-17 17:47:40 +0000 |
| commit | 05f352a12556e08ecf10155399b29360c491b76e (patch) | |
| tree | 3b0e5ba4bceed901463040e17d01831d3ee04f83 /docker/nova-compute | |
| parent | b57caa7b67ed1747c7046afa41d1cbbee5802b69 (diff) | |
| download | kolla-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/Dockerfile | 1 | ||||
| -rwxr-xr-x | docker/nova-compute/nova-network/config-nova-network.sh | 30 | ||||
| -rwxr-xr-x | docker/nova-compute/nova-network/start.sh | 11 |
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 |
