You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@yetus.apache.org by aw...@apache.org on 2016/08/02 04:32:37 UTC

yetus git commit: YETUS-341. docker cleanup in sentinel mode doesn't know about Created

Repository: yetus
Updated Branches:
  refs/heads/master adeefcaaa -> b110b2580


YETUS-341. docker cleanup in sentinel mode doesn't know about Created

Signed-off-by: Sean Busbey <bu...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/yetus/repo
Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/b110b258
Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/b110b258
Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/b110b258

Branch: refs/heads/master
Commit: b110b25802652c599fdf67f74e548b0b4a248248
Parents: adeefca
Author: Allen Wittenauer <aw...@apache.org>
Authored: Thu Jul 14 05:47:39 2016 -0700
Committer: Allen Wittenauer <aw...@apache.org>
Committed: Mon Aug 1 21:31:59 2016 -0700

----------------------------------------------------------------------
 precommit/core.d/docker.sh | 25 +++++++++++++++++--------
 1 file changed, 17 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/yetus/blob/b110b258/precommit/core.d/docker.sh
----------------------------------------------------------------------
diff --git a/precommit/core.d/docker.sh b/precommit/core.d/docker.sh
index 315dd29..2dae49d 100755
--- a/precommit/core.d/docker.sh
+++ b/precommit/core.d/docker.sh
@@ -31,8 +31,8 @@ declare -a DOCKER_EXTRAARGS
 #### If these times are updated, the documentation needs to
 #### be changed too!
 
-# stopped, exited, running, for 24 hours
-DOCKER_CONTAINER_PURGE=("86400" "86400" "86400")
+# created, stopped, exited, running, for 24 hours
+DOCKER_CONTAINER_PURGE=("86400" "86400" "86400" "86400" )
 
 # keep images for 1 week
 DOCKER_IMAGE_PURGE=604800
@@ -272,6 +272,7 @@ function docker_container_maintenance
   declare name
   declare status
   declare tmptime
+  declare createtime
   declare starttime
   declare stoptime
   declare remove
@@ -294,31 +295,39 @@ function docker_container_maintenance
 
   while read -r line; do
     id=$(echo "${line}" | cut -f1 -d, )
-    name=$(echo "${line}" | cut -f2 -d, )
-    status=$(echo "${line}" | cut -f3 -d, )
+    status=$(echo "${line}" | cut -f2 -d, )
+    tmptime=$(echo "${line}" | cut -f3 -d, | cut -f1 -d. )
+    createtime=$(dockerdate_to_ctime "${tmptime}")
     tmptime=$(echo "${line}" | cut -f4 -d, | cut -f1 -d. )
     starttime=$(dockerdate_to_ctime "${tmptime}")
     tmptime=$(echo "${line}" | cut -f5 -d, | cut -f1 -d. )
     stoptime=$(dockerdate_to_ctime "${tmptime}")
+    name=$(echo "${line}" | cut -f6 -d, )
     curtime=$(TZ=UTC date "+%s")
     remove=false
 
     case ${status} in
+      created)
+        ((difftime = curtime - createtime))
+        if [[ ${difftime} -gt ${DOCKER_CONTAINER_PURGE[0]} ]]; then
+          remove=true
+        fi
+      ;;
       stopped)
         ((difftime = curtime - stoptime))
-        if [[ ${difftime} -gt ${DOCKER_CONTAINER_PURGE[0]} ]]; then
+        if [[ ${difftime} -gt ${DOCKER_CONTAINER_PURGE[1]} ]]; then
           remove=true
         fi
       ;;
       exited)
         ((difftime = curtime - stoptime))
-        if [[ ${difftime} -gt ${DOCKER_CONTAINER_PURGE[1]} ]]; then
+        if [[ ${difftime} -gt ${DOCKER_CONTAINER_PURGE[2]} ]]; then
           remove=true
         fi
       ;;
       running)
         ((difftime = curtime - starttime))
-        if [[ ${difftime} -gt ${DOCKER_CONTAINER_PURGE[2]}
+        if [[ ${difftime} -gt ${DOCKER_CONTAINER_PURGE[3]}
              && "${SENTINEL}" = true ]]; then
           remove=true
           echo "Attempting to kill docker container ${name} [${id}]"
@@ -337,7 +346,7 @@ function docker_container_maintenance
   done < <(
      # shellcheck disable=SC2086
      dockercmd inspect \
-        --format '{{.Id}},{{.Name}},{{.State.Status}},{{.State.StartedAt}},{{.State.FinishedAt}}' \
+        --format '{{.Id}},{{.State.Status}},{{.Created}},{{.State.StartedAt}},{{.State.FinishedAt}},{{.Name}}' \
        ${data})
 }