From 82a008dce2555b157f76f089b1ee464358c23728 Mon Sep 17 00:00:00 2001 From: JingLu5 Date: Wed, 22 Mar 2017 07:07:21 +0000 Subject: Use docker image id instead of tag to remove yardstick Docker image with tag: JIRA: RELENG-194 Now, in CI, bottlenecks job will pull yardstick Docker image again, which may cause the tag of the Docker image previous used by Yardstick changed to 'None'. Using 'None' tag to remove Docker image will cause error. Change-Id: I5c63c6c515ede5da4f6a40be6bb22fa6771f8f09 Signed-off-by: JingLu5 --- jjb/yardstick/yardstick-cleanup.sh | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'jjb/yardstick') diff --git a/jjb/yardstick/yardstick-cleanup.sh b/jjb/yardstick/yardstick-cleanup.sh index 4e6f7d680..51455b593 100755 --- a/jjb/yardstick/yardstick-cleanup.sh +++ b/jjb/yardstick/yardstick-cleanup.sh @@ -1,6 +1,20 @@ #!/bin/bash [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" +# Remove containers along with image opnfv/yardstick*: +dangling_images=($(docker images -f "dangling=true" | grep opnfv/yardstick | awk '{print $3}')) +if [[ -n ${dangling_images} ]]; then + echo "Removing opnfv/yardstick: 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 + -- cgit 1.2.3-korg