Use docker image id instead of tag to remove yardstick Docker image with tag:<None>
[releng.git] / jjb / yardstick / yardstick-cleanup.sh
index 4e6f7d6..51455b5 100755 (executable)
@@ -1,6 +1,20 @@
 #!/bin/bash
 [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
 
+# Remove containers along with image opnfv/yardstick*:<none>
+dangling_images=($(docker images -f "dangling=true" | grep opnfv/yardstick | awk '{print $3}'))
+if [[ -n ${dangling_images} ]]; then
+    echo "Removing opnfv/yardstick:<none> images and their containers..."
+    for image_id in "${dangling_images[@]}"; do
+        echo "      Removing image_id: $image_id and its containers"
+        containers=$(docker ps -a | grep $image_id | awk '{print $1}')
+        if [[ -n "$containers" ]];then
+            docker rm -f $containers >${redirect}
+        fi
+        docker rmi $image_id >${redirect}
+    done
+fi
+
 echo "Cleaning up docker containers/images..."
 # Remove previous running containers if exist
 if [[ ! -z $(docker ps -a | grep opnfv/yardstick) ]]; then
@@ -17,6 +31,6 @@ if [[ ! -z $(docker images | grep opnfv/yardstick) ]]; then
     for tag in "${image_tags[@]}"; do
         echo "Removing docker image opnfv/yardstick:$tag..."
         docker rmi opnfv/yardstick:$tag >$redirect
-
     done
 fi
+