test: Add more consistency when cleaning docker containers/images 23/7123/4
authorjose.lausuch <jose.lausuch@ericsson.com>
Mon, 18 Jan 2016 13:15:36 +0000 (14:15 +0100)
committerjose.lausuch <jose.lausuch@ericsson.com>
Mon, 18 Jan 2016 13:22:59 +0000 (14:22 +0100)
Change-Id: I085ca47e4e487d93c700c3e729b8b86b2b7abde1
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
jjb/opnfv/opnfv-docker.sh

index 108485d..bf35597 100644 (file)
@@ -10,17 +10,12 @@ echo
 
 
 # Remove previous running containers if exist
-if [[ ! -z $(docker ps -a | grep $DOCKER_REPO_NAME) ]]; then
+if [[ -n "$(docker ps -a | grep $DOCKER_REPO_NAME)" ]]; then
     echo "Removing existing $DOCKER_REPO_NAME containers..."
-    #docker ps | grep $DOCKER_REPO_NAME | awk '{print $1}' | xargs docker stop
     docker ps -a | grep $DOCKER_REPO_NAME | awk '{print $1}' | xargs docker rm -f
     t=60
     # Wait max 60 sec for containers to be removed
-    while [[ $t -gt 0 ]]; do
-        ids=$(docker ps | grep $DOCKER_REPO_NAME |awk '{print $1}')
-        if [[ -z $ids ]]; then
-            break
-        fi
+    while [[ $t -gt 0 ]] && [[ -n "$(docker ps| grep $DOCKER_REPO_NAME)" ]]; do
         sleep 1
         let t=t-1
     done
@@ -28,13 +23,15 @@ fi
 
 
 # Remove existing images if exist
-if [[ ! -z $(docker images | grep $DOCKER_REPO_NAME) ]]; then
+if [[ -n "$(docker images | grep $DOCKER_REPO_NAME)" ]]; then
     echo "Docker images to remove:"
     docker images | head -1 && docker images | grep $DOCKER_REPO_NAME
     image_tags=($(docker images | grep $DOCKER_REPO_NAME | awk '{print $2}'))
     for tag in "${image_tags[@]}"; do
-        echo "Removing docker image $DOCKER_REPO_NAME:$tag..."
-        docker rmi -f $DOCKER_REPO_NAME:$tag
+        if [[ -n "$(docker images|grep $DOCKER_REPO_NAME|grep $tag)" ]]; then
+            echo "Removing docker image $DOCKER_REPO_NAME:$tag..."
+            docker rmi -f $DOCKER_REPO_NAME:$tag
+        fi
     done
 fi