Merge branch '61_cleanup_script' of https://github.com/bboreham/weave into bboreham-61_cleanup_script
This commit is contained in:
commit
b99e49a84f
1 file changed
+22
-10
+22
-10
@@ -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
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user