diff options
author | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2017-04-25 10:51:35 +0000 |
---|---|---|
committer | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2017-04-26 06:38:42 +0000 |
commit | c66e43c40dde389252c0129951b90632b14ad76e (patch) | |
tree | de9f5c17b3b036578c78055e1632a89d9dfe9626 /tcwg-cleanup-stale-containers.sh | |
parent | d66770fc93fc30d17015e631a3b8eeb402b57117 (diff) |
tcwg-cleanup-stale-containers: Allow override of docker command for testing
E.g., DOCKER="docker -H build-02.tcwglab:2375" ./tcwg-cleanup-stale-containers.sh
Change-Id: I7424ab999d3305db9059dbb773a3f4371b4873a7
Diffstat (limited to 'tcwg-cleanup-stale-containers.sh')
-rwxr-xr-x | tcwg-cleanup-stale-containers.sh | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/tcwg-cleanup-stale-containers.sh b/tcwg-cleanup-stale-containers.sh index ca3f1a7f..e03c00fa 100755 --- a/tcwg-cleanup-stale-containers.sh +++ b/tcwg-cleanup-stale-containers.sh @@ -26,6 +26,10 @@ if $verbose; then set -x fi +if [ x"$DOCKER" = x"" ]; then + DOCKER="docker" +fi + do_cleanup_containers () { local hours="$1" @@ -39,14 +43,14 @@ do_cleanup_containers () fi echo "Container report before:" -docker ps $docker_ps_opts +$DOCKER ps $docker_ps_opts rm_containers=() -for container in $(docker ps --format "{{.ID}} {{.RunningFor}}" $docker_ps_opts | grep "hour\|day" | cut -d" " -f 1); do - container_days="$(docker ps --format "{{.ID}} {{.RunningFor}}" $docker_ps_opts | grep "$container [0-9]\+ day" | cut -d" " -f 2)" +for container in $($DOCKER ps --format "{{.ID}} {{.RunningFor}}" $docker_ps_opts | grep "hour\|day" | cut -d" " -f 1); do + container_days="$($DOCKER ps --format "{{.ID}} {{.RunningFor}}" $docker_ps_opts | grep "$container [0-9]\+ day" | cut -d" " -f 2)" if [ x"$container_days" = x"" ]; then container_days="0"; fi - container_hours="$(docker ps --format "{{.ID}} {{.RunningFor}}" $docker_ps_opts | grep "$container [0-9]\+ hour" | cut -d" " -f 2)" + container_hours="$($DOCKER ps --format "{{.ID}} {{.RunningFor}}" $docker_ps_opts | grep "$container [0-9]\+ hour" | cut -d" " -f 2)" if [ x"$container_hours" = x"" ]; then container_hours="0"; fi container_hours=$(($container_days*24 + $container_hours)) @@ -63,15 +67,15 @@ if [ ${#rm_containers[@]} != 0 ]; then if $cleanup_containers; then for container in "${rm_containers[@]}"; do echo "Removing container $container" - docker $action $container | cat - echo "docker $action exit status: ${PIPESTATUS[0]}" + $DOCKER $action $container | cat + echo "$DOCKER $action exit status: ${PIPESTATUS[0]}" done else echo "DRY_RUN: NOT REMOVING CONTAINERS" fi echo "Containers report after:" - docker ps $docker_ps_opts + $DOCKER ps $docker_ps_opts fi exit $status @@ -87,21 +91,21 @@ do_cleanup_containers $cleanup_stopped_hours "-a" "rm -fv" & wait $! || res=$? status=$(($status+$res)) -if [ x"$(docker volume ls -q -f dangling=true)" != x"" ]; then +if [ x"$($DOCKER volume ls -q -f dangling=true)" != x"" ]; then echo "Removing dangling volumes" echo "Increasing exit code by 2 to indicate dangling volumes" status="$(($status+2))" if $cleanup_volumes; then - docker volume ls -q -f dangling=true | xargs docker volume rm | cat - echo "xargs docker volume rm exit status: ${PIPESTATUS[1]}" + $DOCKER volume ls -q -f dangling=true | xargs $DOCKER volume rm | cat + echo "xargs $DOCKER volume rm exit status: ${PIPESTATUS[1]}" else echo "DRY_RUN: NOT REMOVING DANGLING VOLUMES" fi fi rm_images=() -for image in $(docker images -q -f dangling=true); do - if ! docker ps -a --format "{{.Image}}" | grep -q $image; then +for image in $($DOCKER images -q -f dangling=true); do + if ! $DOCKER ps -a --format "{{.Image}}" | grep -q $image; then rm_images=("${rm_images[@]}" $image) fi done @@ -112,8 +116,8 @@ if [ ${#rm_images[@]} != 0 ]; then status="$(($status+4))" if $cleanup_images; then for image in "${rm_images[@]}"; do - docker rmi $image | cat - echo "docker rmi exit status: ${PIPESTATUS[0]}" + $DOCKER rmi $image | cat + echo "$DOCKER rmi exit status: ${PIPESTATUS[0]}" done else echo "DRY_RUN: NOT REMOVING UNTAGGED IMAGES" |