From 05fb27218f3b8a78bff0b0e668c8d38feeb93dca Mon Sep 17 00:00:00 2001 From: David Vossel Date: Thu, 23 Oct 2014 14:20:14 -0400 Subject: [PATCH] High: docker: properly remove stale container during stop when 'reuse' is not enabled --- heartbeat/docker | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/heartbeat/docker b/heartbeat/docker index 546c423..37a449b 100755 --- a/heartbeat/docker +++ b/heartbeat/docker @@ -157,6 +157,11 @@ remove_container() return 0 fi + container_exists + if [ $? -ne 0 ]; then + # don't attempt to remove a container that doesn't exist + return 0 + fi ocf_log notice "Cleaning up inactive container, ${CONTAINER}." ocf_run docker rm $CONTAINER } @@ -210,7 +215,10 @@ docker_start() if ocf_is_true "$OCF_RESKEY_reuse" && container_exists; then ocf_log info "starting existing container $CONTAINER." ocf_run docker start $CONTAINER - else + else + # make sure any previous container matching our container name is cleaned up first. + # we already know at this point it wouldn't be running + remove_container ocf_log info "running container $CONTAINER for the first time" ocf_run docker run $run_opts $OCF_RESKEY_image $OCF_RESKEY_run_cmd fi @@ -234,6 +242,7 @@ docker_stop() local timeout=60 docker_monitor if [ $? -eq $OCF_NOT_RUNNING ]; then + remove_container return $OCF_SUCCESS fi -- 1.8.4.2