#!/bin/bash
+##############################################################################
+# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
[[ $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 opnfv/testapi mongo)
+for clean_image in "${clean_images[@]}"; do
+ 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
+ echo "Removing image $image_id, which has no containers and image tag is None"
+ docker rmi $image_id >${redirect}
+ done
+ fi
+done
+
+echo "Remove dovetail images with tag None and containers with these images ..."
+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..."
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
+ docker ps -a | grep opnfv/dovetail | awk '{print $1}' | xargs docker rm -f >${redirect}
fi
-# Remove 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
- image_tags=($(docker images | grep opnfv/dovetail | awk '{print $2}'))
- for tag in "${image_tags[@]}"; do
- echo "Removing docker image opnfv/dovetail:$tag..."
- docker rmi opnfv/dovetail:$tag >$redirect
- done
-fi
+#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}
+# image_tags=($(docker images | grep opnfv/dovetail | awk '{print $2}'))
+# for tag in "${image_tags[@]}"; do
+# echo "Removing docker image opnfv/dovetail:$tag..."
+# docker rmi opnfv/dovetail:$tag >${redirect}
+# done
+#fi