summaryrefslogtreecommitdiff
path: root/tcwg-cleanup-stale-containers.sh
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2017-04-25 10:51:35 +0000
committerMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2017-04-26 06:38:42 +0000
commitc66e43c40dde389252c0129951b90632b14ad76e (patch)
treede9f5c17b3b036578c78055e1632a89d9dfe9626 /tcwg-cleanup-stale-containers.sh
parentd66770fc93fc30d17015e631a3b8eeb402b57117 (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-xtcwg-cleanup-stale-containers.sh32
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"