Skip to content
This repository has been archived by the owner on Jun 20, 2024. It is now read-only.

Commit

Permalink
Merge pull request #1814 from weaveworks/1778-check-running
Browse files Browse the repository at this point in the history
Handle weave containers in 'restarting' state

Fixes #1778.
  • Loading branch information
rade committed Dec 22, 2015
2 parents 077ad42 + c19edec commit 47ba974
Showing 1 changed file with 17 additions and 19 deletions.
36 changes: 17 additions & 19 deletions weave
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -1844,17 +1842,17 @@ 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
[ -z $WEAVE_NO_PLUGIN ] && check_docker_server_api_version 1.21 && launch_plugin $COMMON_ARGS
;;
launch-router)
deprecation_warnings "$@"
check_not_running $CONTAINER_NAME $BASE_IMAGE
check_not_running router $CONTAINER_NAME $BASE_IMAGE
launch_router "$@"
echo $ROUTER_CONTAINER
;;
Expand All @@ -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
;;
Expand Down

0 comments on commit 47ba974

Please sign in to comment.