Merge branch '61_cleanup_script' of https://github.com/bboreham/weave into bboreham-61_cleanup_script

This commit is contained in:
Matthias Radestock committed 2014-09-18 12:14:11 +01:00
commit b99e49a84f
1 file changed
+22 -10
+22 -10
View File
@@ -114,21 +114,23 @@ configure_container_networking() {
NSPID=$DOCKERPID
[ ! -d /var/run/netns ] && mkdir -p /var/run/netns
[ -f /var/run/netns/$NSPID ] && rm -f /var/run/netns/$NSPID
rm -f /var/run/netns/$NSPID
ln -s /proc/$NSPID/ns/net /var/run/netns/$NSPID
EXITCODE=1
LOCAL_IFNAME="v${CONTAINER_IFNAME}pl${NSPID}"
GUEST_IFNAME="v${CONTAINER_IFNAME}pg${NSPID}"
if ip link add name $LOCAL_IFNAME mtu $MTU type veth peer name $GUEST_IFNAME mtu $MTU ; then
if ip link set $LOCAL_IFNAME master $BRIDGE && \
ip link set $LOCAL_IFNAME up && \
ip link set $GUEST_IFNAME netns $NSPID
IP_TMPFILE=/tmp/weave_ip_output_$$
rm -f $IP_TMPFILE
if ip link add name $LOCAL_IFNAME mtu $MTU type veth peer name $GUEST_IFNAME mtu $MTU >$IP_TMPFILE 2>&1 ; then
if (ip link set $LOCAL_IFNAME master $BRIDGE &&
ip link set $LOCAL_IFNAME up &&
ip link set $GUEST_IFNAME netns $NSPID) >$IP_TMPFILE 2>&1
then
ip netns exec $NSPID ip link set $GUEST_IFNAME name $CONTAINER_IFNAME && \
ip netns exec $NSPID ip addr add $2 dev $CONTAINER_IFNAME && \
ip netns exec $NSPID ip link set $CONTAINER_IFNAME up && \
(check_command_and_run ethtool ip netns exec $NSPID ethtool -K $3 tx off >/dev/null) && \
(ip netns exec $NSPID ip link set $GUEST_IFNAME name $CONTAINER_IFNAME &&
ip netns exec $NSPID ip addr add $2 dev $CONTAINER_IFNAME &&
ip netns exec $NSPID ip link set $CONTAINER_IFNAME up &&
check_command_and_run ethtool ip netns exec $NSPID ethtool -K $3 tx off >/dev/null) >$IP_TMPFILE 2>&1 &&
EXITCODE=0
else
# failed before we assigned the veth to the container's namespace - delete it
@@ -136,7 +138,17 @@ configure_container_networking() {
fi
fi
[ -f /var/run/netns/$NSPID ] && rm -f /var/run/netns/$NSPID
if [ "$EXITCODE" -ne 0 ] ; then
if ! ps -p $DOCKERPID >/dev/null 2>&1 ; then
echo "Container $1 died" >&2
else
echo "Failure during network set-up:" >&2
cat $IP_TMPFILE >&2
fi
fi
rm -f $IP_TMPFILE
rm -f /var/run/netns/$NSPID
return $EXITCODE
}