X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fdovetail%2Fdovetail-cleanup.sh;h=2d66fe02259d8bb96e1c09a61ecd32111e54d1db;hb=baab3f70e234538d043b0cf76eb5c9773164da35;hp=297222bb3f8eaed539c446d49c2987a1493b845b;hpb=ffb46f565212179212c1b23484e050078d6d82ad;p=releng.git diff --git a/jjb/dovetail/dovetail-cleanup.sh b/jjb/dovetail/dovetail-cleanup.sh index 297222bb3..2d66fe022 100755 --- a/jjb/dovetail/dovetail-cleanup.sh +++ b/jjb/dovetail/dovetail-cleanup.sh @@ -1,20 +1,49 @@ #!/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