From 96766db5f0153c221fbb11f5a9831257d209dcec Mon Sep 17 00:00:00 2001 From: Matthias Radestock Date: Thu, 11 Sep 2014 07:12:49 +0100 Subject: [PATCH 1/5] consistency --- weaver/weave | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/weaver/weave b/weaver/weave index 837fc178..e7ece3ad 100755 --- a/weaver/weave +++ b/weaver/weave @@ -132,8 +132,8 @@ case "$COMMAND" in exit 0 ;; stop) - docker kill weave > /dev/null - docker rm weave > /dev/null + docker kill weave >/dev/null + docker rm weave >/dev/null if command_exists conntrack then conntrack -D -p udp --dport 6783 >/dev/null 2>&1 @@ -178,7 +178,7 @@ ip netns exec $NSPID ip link set $CONTAINER_IFNAME up if command_exists ethtool then - ip netns exec $NSPID ethtool -K $IFACE tx off > /dev/null + ip netns exec $NSPID ethtool -K $IFACE tx off >/dev/null else echo "Cannot find ethtool; please install it. Continuing without it." >&2 fi From dbbb8c690aeed9505ef03e1a1afab2226b684818 Mon Sep 17 00:00:00 2001 From: Matthias Radestock Date: Thu, 11 Sep 2014 07:15:15 +0100 Subject: [PATCH 2/5] nicer error message on 'weave status' when there is no weave container. --- weaver/weave | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/weaver/weave b/weaver/weave index e7ece3ad..a6dad05f 100755 --- a/weaver/weave +++ b/weaver/weave @@ -87,7 +87,10 @@ case "$COMMAND" in IFACE=eth0 ;; status) - DOCKERIP=$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' weave) + if ! DOCKERIP=$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' weave 2>/dev/null) ; then + echo "There is no weave container." >&2 + exit 1 + fi if [ -z "$DOCKERIP" ] ; then echo "The weave container is not running." >&2 exit 1 From b6351acb6665286b65ef9ea7ef6d9d41d0c91427 Mon Sep 17 00:00:00 2001 From: Matthias Radestock Date: Thu, 11 Sep 2014 07:19:14 +0100 Subject: [PATCH 3/5] simplify error message --- weaver/weave | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/weaver/weave b/weaver/weave index a6dad05f..82768fcf 100755 --- a/weaver/weave +++ b/weaver/weave @@ -88,11 +88,11 @@ case "$COMMAND" in ;; status) if ! DOCKERIP=$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' weave 2>/dev/null) ; then - echo "There is no weave container." >&2 + echo "Weave is not running." >&2 exit 1 fi if [ -z "$DOCKERIP" ] ; then - echo "The weave container is not running." >&2 + echo "Weave is not running." >&2 exit 1 fi if command_exists wget ; then From 710cf7ea8ae098600a304c45d442749aad65eefa Mon Sep 17 00:00:00 2001 From: Matthias Radestock Date: Thu, 11 Sep 2014 07:33:02 +0100 Subject: [PATCH 4/5] nicer error on 'weave stop' and make it idempotent --- weaver/weave | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/weaver/weave b/weaver/weave index 82768fcf..76fb260d 100755 --- a/weaver/weave +++ b/weaver/weave @@ -135,8 +135,9 @@ case "$COMMAND" in exit 0 ;; stop) - docker kill weave >/dev/null - docker rm weave >/dev/null + if ! docker rm -f weave >/dev/null 2>&1 ; then + echo "Weave is not running." + fi if command_exists conntrack then conntrack -D -p udp --dport 6783 >/dev/null 2>&1 From 51afd5e9c6f1b357729d227034d322b539ed0b54 Mon Sep 17 00:00:00 2001 From: Matthias Radestock Date: Thu, 11 Sep 2014 07:56:26 +0100 Subject: [PATCH 5/5] make 'weave launch' cope gracefully with existing 'weave' containers Fixed #31 --- weaver/weave | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/weaver/weave b/weaver/weave index 76fb260d..5dab5d9b 100755 --- a/weaver/weave +++ b/weaver/weave @@ -82,6 +82,23 @@ case "$COMMAND" in # (eth0, wlan0, etc) so the name becomes stable across host # restarts. MACADDR=`cat /sys/class/net/$BRIDGE/address` + case $(docker inspect --format '{{ .State.Running }} {{ .Config.Image }}' weave 2>/dev/null) in + "true zettio/weave") + echo "Weave is already running." >&2 + exit 1 + ;; + "false zettio/weave") + docker rm weave >/dev/null + ;; + true*) + echo "Found another running container named 'weave'. Aborting." >&2 + exit 1 + ;; + false*) + echo "Found another container named 'weave'. Aborting." >&2 + exit 1 + ;; + esac CONTAINER=$(docker run --privileged -d --name=weave -p 6783:6783/tcp -p 6783:6783/udp $WEAVE_DOCKER_ARGS zettio/weave -name $MACADDR "$@") echo $CONTAINER IFACE=eth0