Add a more consistent method of cleanup docker Functest jjob 77/3577/3
authorjose.lausuch <jose.lausuch@ericsson.com>
Tue, 24 Nov 2015 15:15:43 +0000 (16:15 +0100)
committerjose.lausuch <jose.lausuch@ericsson.com>
Tue, 24 Nov 2015 15:22:15 +0000 (16:22 +0100)
Change-Id: Ie561c21a104d01c015ae2d513c1d512650b87982
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
jjb/functest/functest.yml

index 23ff232..cb72fc7 100644 (file)
         - shell: |
             #!/bin/bash
 
-            # cleanup: remove any docker containers leftovers
-            echo "Removing existing Functest Docker containers..."
-            docker rm -f $(docker ps | grep opnfv/functest | awk '{print $1}')
-            echo "Removing existing Functest Docker image..."
-            docker rmi -f $(docker images | grep opnfv/functest | awk '{print $3}')
+            echo "Cleaning up docker containers/images..."
+
+            # Remove previous running containers if exist
+            if [[ ! -z $(docker ps -a | grep opnfv/functest) ]]; then
+                echo "Removing existing opnfv/functest containers..."
+                docker ps | grep opnfv/functest | awk '{{print $1}}' | xargs docker stop
+                docker ps -a | grep opnfv/functest | awk '{{print $1}}' | xargs docker rm
+            fi
+
+
+            # Remove existing images if exist
+            if [[ ! -z $(docker images | grep opnfv/functest) ]]; then
+                echo "Docker images to remove:"
+                docker images | head -1 && docker images | grep opnfv/functest
+                image_tags=($(docker images | grep opnfv/functest | awk '{{print $2}}'))
+                for tag in "${{image_tags[@]}}"; do
+                    echo "Removing docker image opnfv/functest:$tag..."
+                    docker rmi opnfv/functest:$tag
+                done
+            fi