Merge pull request #1814 from weaveworks/1778-check-running

Handle weave containers in 'restarting' state

Fixes #1778.
This commit is contained in:
Matthias Radestock committed 2015-12-22 13:49:19 +00:00
commit 47ba9748b4
1 file changed
+17 -19
+17 -19
View File
@@ -906,29 +906,27 @@ container_weave_addrs() {
# functions for interacting with containers
######################################################################
# Check that a container named $1 with image $2 is not running
# Check that a container for component $1 named $2 with image $3 is not running
check_not_running() {
case $(docker inspect --format='{{.State.Running}} {{.Config.Image}}' $1 2>/dev/null) in
"true $2")
echo "$1 is already running." >&2
RUN_STATUS=$(docker inspect --format='{{.State.Running}} {{.State.Status}} {{.Config.Image}}' $2 2>/dev/null) || true
case ${RUN_STATUS%:*} in
"true restarting $3")
echo "$2 is restarting; you can stop it with 'weave stop-$1'." >&2
exit 1
;;
"true $2:"*)
echo "$1 is already running." >&2
"true "*" $3")
echo "$2 is already running; you can stop it with 'weave stop-$1'." >&2
exit 1
;;
"false $2")
docker rm $1 >/dev/null
;;
"false $2:"*)
docker rm $1 >/dev/null
"false "*" $3")
docker rm $2 >/dev/null
;;
true*)
echo "Found another running container named '$1'. Aborting." >&2
echo "Found another running container named '$2'. Aborting." >&2
exit 1
;;
false*)
echo "Found another container named '$1'. Aborting." >&2
echo "Found another container named '$2'. Aborting." >&2
exit 1
;;
esac
@@ -1844,9 +1842,9 @@ EOF
;;
launch)
deprecation_warnings "$@"
check_not_running $CONTAINER_NAME $BASE_IMAGE
check_not_running $PROXY_CONTAINER_NAME $BASE_EXEC_IMAGE
check_not_running $PLUGIN_CONTAINER_NAME $BASE_PLUGIN_IMAGE
check_not_running router $CONTAINER_NAME $BASE_IMAGE
check_not_running proxy $PROXY_CONTAINER_NAME $BASE_EXEC_IMAGE
check_not_running plugin $PLUGIN_CONTAINER_NAME $BASE_PLUGIN_IMAGE
COMMON_ARGS=$(common_launch_args "$@")
launch_router "$@"
launch_proxy $COMMON_ARGS
@@ -1854,7 +1852,7 @@ EOF
;;
launch-router)
deprecation_warnings "$@"
check_not_running $CONTAINER_NAME $BASE_IMAGE
check_not_running router $CONTAINER_NAME $BASE_IMAGE
launch_router "$@"
echo $ROUTER_CONTAINER
;;
@@ -1868,12 +1866,12 @@ EOF
;;
launch-proxy)
deprecation_warnings "$@"
check_not_running $PROXY_CONTAINER_NAME $BASE_EXEC_IMAGE
check_not_running proxy $PROXY_CONTAINER_NAME $BASE_EXEC_IMAGE
launch_proxy "$@"
echo $PROXY_CONTAINER
;;
launch-plugin)
check_not_running $PLUGIN_CONTAINER_NAME $BASE_PLUGIN_IMAGE
check_not_running plugin $PLUGIN_CONTAINER_NAME $BASE_PLUGIN_IMAGE
launch_plugin "$@"
echo $PLUGIN_CONTAINER
;;