dovetail: rewrite cleanup images process 85/26485/5
authorMatthewLi <matthew.lijun@huawei.com>
Mon, 26 Dec 2016 06:47:17 +0000 (01:47 -0500)
committerMatthewLi <matthew.lijun@huawei.com>
Wed, 28 Dec 2016 08:14:52 +0000 (03:14 -0500)
Change-Id: Id4f9f1ddb7d84e5780479a7ca2bc979132dde8d4
Signed-off-by: MatthewLi <matthew.lijun@huawei.com>
jjb/dovetail/dovetail-cleanup.sh

index f215278..22b2ba2 100755 (executable)
@@ -2,14 +2,35 @@
 
 [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
 
-echo "Cleaning up docker containers/images..."
-# Remove previous running containers if exist
+#clean up dependent project docker images, which has no containers and image tag None
+clean_images=(opnfv/functest opnfv/yardstick)
+for clean_image in "${clean_images[@]}"; do
+    echo "Removing image $image_id, which has no containers and image tag is None"
+    dangling_images=($(docker images -f "dangling=true" | grep ${clean_image} | awk '{print $3}'))
+    if [[ -n ${dangling_images} ]]; then
+        for image_id in "${dangling_images[@]}"; do
+            docker rmi $image_id >${redirect}
+        done
+    fi
+done
+
+echo "Remove containers with image dovetail:<None>..."
+dangling_images=($(docker images -f "dangling=true" | grep opnfv/dovetail | awk '{print $3}'))
+if [[ -n ${dangling_images} ]]; then
+    for image_id in "${dangling_images[@]}"; do
+        echo "Removing image $image_id with tag None and its related containers"
+        docker ps -a | grep $image_id | awk '{print $1}'| xargs docker rm -f >${redirect}
+        docker rmi $image_id >${redirect}
+    done
+fi
+
+echo "Cleaning up dovetail docker containers/images..."
 if [[ ! -z $(docker ps -a | grep opnfv/dovetail) ]]; then
     echo "Removing existing opnfv/dovetail containers..."
     docker ps -a | grep opnfv/dovetail | awk '{print $1}' | xargs docker rm -f >${redirect}
 fi
 
-# Remove existing images if exist
+echo "Remove dovetail existing images if exist..."
 if [[ ! -z $(docker images | grep opnfv/dovetail) ]]; then
     echo "Docker images to remove:"
     docker images | head -1 && docker images | grep opnfv/dovetail >${redirect}