From 2ccc2ac77b557a7d5fc1583addc3b2037956dcba Mon Sep 17 00:00:00 2001 From: =?utf8?q?Franti=C5=A1ek=20Dvo=C5=99=C3=A1k?= Date: Thu, 14 Apr 2016 20:14:51 +0200 Subject: [PATCH] Overlay VXLAN network manually, not from the docker. --- config/network/if-down.d/meta_vxlan | 10 ++++++++++ config/network/if-down.d/vxlan | 9 --------- config/network/if-up.d/meta_vxlan | 11 +++++++++++ config/network/if-up.d/vxlan | 11 ----------- docker.sh | 31 ++++++++++++++++++++++--------- machines/hador-gen-virt-frontend.sh | 1 + machines/hador-gen-virt-master.sh | 1 + machines/hador-gen-virt-node.sh | 1 + 8 files changed, 46 insertions(+), 29 deletions(-) create mode 100755 config/network/if-down.d/meta_vxlan delete mode 100755 config/network/if-down.d/vxlan create mode 100755 config/network/if-up.d/meta_vxlan delete mode 100755 config/network/if-up.d/vxlan diff --git a/config/network/if-down.d/meta_vxlan b/config/network/if-down.d/meta_vxlan new file mode 100755 index 0000000..964dd21 --- /dev/null +++ b/config/network/if-down.d/meta_vxlan @@ -0,0 +1,10 @@ +#!/bin/sh -e + +# added manually by valtri + +# to launch only once +[ "$IFACE" = "overlaybr0" ] || exit 0 + +ip link set down dev vxlan0 +ip link del vxlan0 + diff --git a/config/network/if-down.d/vxlan b/config/network/if-down.d/vxlan deleted file mode 100755 index 3fa3efe..0000000 --- a/config/network/if-down.d/vxlan +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -e -# VXLAN Example - -if [ $IFACE != "eth0" ]; then - exit 0 -fi - -ip link set down dev vxlan0 -ip link del vxlan0 diff --git a/config/network/if-up.d/meta_vxlan b/config/network/if-up.d/meta_vxlan new file mode 100755 index 0000000..59827f6 --- /dev/null +++ b/config/network/if-up.d/meta_vxlan @@ -0,0 +1,11 @@ +#!/bin/sh -e + +# added manually by valtri + +# to launch only once +[ "$IFACE" = "overlaybr0" ] || exit 0 + +/root/system/ip link add vxlan0 type vxlan id 142 group 239.1.1.142 dev ib0 dstport 4789 +ip link set up dev vxlan0 + +brctl addif overlaybr0 vxlan0 diff --git a/config/network/if-up.d/vxlan b/config/network/if-up.d/vxlan deleted file mode 100755 index fc3b5c9..0000000 --- a/config/network/if-up.d/vxlan +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -e -# VXLAN Example - -if [ $IFACE != "eth0" ]; then - exit 0 -fi - -ip link add vxlan0 type vxlan id 142 group 239.1.1.1 dev eth0 dstport 4789 -ip link set up dev vxlan0 - -brctl addif overlaybr0 vxlan0 diff --git a/docker.sh b/docker.sh index 73cc295..cba3780 100755 --- a/docker.sh +++ b/docker.sh @@ -132,7 +132,9 @@ docker run -itd \ #fi # ==== public IPv6 + private IPv4 ==== -dev=veth`devname` +dev4=veth`devname` +dev6=`devname` +dev6=veth`expr ${dev6} + 1` # this is not persistent, let's create a script cat << EOF > /etc/docker/${FACTER_hostname}.sh mkdir -p /var/run/netns || : @@ -140,16 +142,27 @@ find -L /var/run/netns -type l -delete || : pid=\`docker inspect -f '{{.State.Pid}}' ${FACTER_hostname}\` ln -s /proc/\${pid}/ns/net /var/run/netns/\${pid} || : -ip link add ${dev}a type veth peer name ${dev}b -brctl addif ${XENBR} ${dev}a -ip link set ${dev}a up -ip link set ${dev}b netns \${pid} -ip netns exec \${pid} ip link set dev ${dev}b name ethx0 -ip netns exec \${pid} ip link set ethx0 address ${FACTER_macaddress} -ip netns exec \${pid} ip link set ethx0 up + +ip link add ${dev6}a type veth peer name ${dev6}b +brctl addif ${XENBR} ${dev6}a +ip link set ${dev6}a up +ip link set ${dev6}b netns \${pid} +ip netns exec \${pid} ip link set dev ${dev6}b name ethx6 +ip netns exec \${pid} ip link set ethx6 address ${FACTER_macaddress} +ip netns exec \${pid} ip link set ethx6 up EOF if [ -n "${FACTER_ip}" ]; then - echo "ip netns exec \${pid} ip addr add ${FACTER_ip}/24 dev ethx0" >> /etc/docker/${FACTER_hostname}.sh + cat << EOF >> /etc/docker/${FACTER_hostname}.sh + +ip link add ${dev4}a type veth peer name ${dev4}b +brctl addif overlaybr0 ${dev4}a +ip link set ${dev4}a up +ip link set ${dev4}b netns \${pid} +ip netns exec \${pid} ip link set dev ${dev4}b name ethx4 +ip netns exec \${pid} ip link set ethx4 address ${FACTER_macaddress2} +ip netns exec \${pid} ip link set ethx4 up +ip netns exec \${pid} ip addr add ${FACTER_ip}/24 dev ethx4 +EOF fi chmod +x /etc/docker/${FACTER_hostname}.sh sh -xe /etc/docker/${FACTER_hostname}.sh diff --git a/machines/hador-gen-virt-frontend.sh b/machines/hador-gen-virt-frontend.sh index 7a1a558..32417a1 100755 --- a/machines/hador-gen-virt-frontend.sh +++ b/machines/hador-gen-virt-frontend.sh @@ -15,6 +15,7 @@ cat <