diff options
author | Ross Brattain <ross.b.brattain@intel.com> | 2017-09-11 18:44:45 -0700 |
---|---|---|
committer | Ross Brattain <ross.b.brattain@intel.com> | 2017-09-11 18:48:23 -0700 |
commit | 17328e1f83dc28f96f1b858d6ee7a7412dfbb8e8 (patch) | |
tree | 2e2fe44970dd0f2452189ed415c3f46d78952f54 | |
parent | a3ef9d8f755464ac8af4cc19efae970d69251010 (diff) |
yardstick-cleanup.sh: try to fix docker rmi failure
apex builds seem to be failing to remove the yardstick
containers
https://build.opnfv.org/ci/job/yardstick-apex-baremetal-daily-master/400/console
[yardstick-apex-baremetal-daily-master] $ /bin/bash /tmp/hudson8974425724638109512.sh
Cleaning up docker containers/images...
Docker images to remove:
REPOSITORY TAG IMAGE ID CREATED SIZE
opnfv/yardstick latest 5b83d8e60fb7 6 days ago 1.84GB
Removing docker image opnfv/yardstick:latest...
Error response from daemon: No such image: opnfv/yardstick:latest
Build step 'Execute shell' marked build as failure
For some reason we can't remove the yardstick container.
Try instead to remove based on ID
Replace grep | awk with just awk.
Also fixed shellcheck warnings:
In jjb/yardstick/yardstick-cleanup.sh line 6:
if [[ -n ${dangling_images} ]]; then
^-- SC2128: Expanding an array without an index only gives the first element.
In jjb/yardstick/yardstick-cleanup.sh line 10:
containers=$(docker ps -a | grep $image_id | awk '{print $1}')
^-- SC2086: Double quote to prevent globbing and word splitting.
In jjb/yardstick/yardstick-cleanup.sh line 12:
docker rm -f $containers >${redirect}
^-- SC2086: Double quote to prevent globbing and word splitting.
In jjb/yardstick/yardstick-cleanup.sh line 14:
docker rmi $image_id >${redirect}
^-- SC2086: Double quote to prevent globbing and word splitting.
In jjb/yardstick/yardstick-cleanup.sh line 20:
if [[ ! -z $(docker ps -a | grep opnfv/yardstick) ]]; then
^-- SC2143: Use ! grep -q instead of comparing output with [ -z .. ].
In jjb/yardstick/yardstick-cleanup.sh line 27:
if [[ ! -z $(docker images | grep opnfv/yardstick) ]]; then
^-- SC2143: Use ! grep -q instead of comparing output with [ -z .. ].
In jjb/yardstick/yardstick-cleanup.sh line 33:
docker rmi opnfv/yardstick:$tag >$redirect
^-- SC2086: Double quote to prevent globbing and word splitting.
Change-Id: I6545ac7f568161e5620e31d487faf70fa21da075
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
-rwxr-xr-x | jjb/yardstick/yardstick-cleanup.sh | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/jjb/yardstick/yardstick-cleanup.sh b/jjb/yardstick/yardstick-cleanup.sh index 51455b593..47bf9bd10 100755 --- a/jjb/yardstick/yardstick-cleanup.sh +++ b/jjb/yardstick/yardstick-cleanup.sh @@ -1,36 +1,36 @@ #!/bin/bash -[[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" +[[ ${CI_DEBUG} == true ]] && redirect="/dev/stdout" || redirect="/dev/null" # Remove containers along with image opnfv/yardstick*:<none> -dangling_images=($(docker images -f "dangling=true" | grep opnfv/yardstick | awk '{print $3}')) -if [[ -n ${dangling_images} ]]; then +dangling_images=($(docker images -f "dangling=true" | awk '/opnfv[/]yardstick/ {print $3}')) +if [[ ${#dangling_images[@]} -eq 0 ]] ; then echo "Removing opnfv/yardstick:<none> 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}') + containers=$(docker ps -a | awk "/${image_id}/ {print \$1}") if [[ -n "$containers" ]];then - docker rm -f $containers >${redirect} + docker rm -f "${containers}" >${redirect} fi - docker rmi $image_id >${redirect} + 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 +if docker ps -a | grep -q opnfv/yardstick; then echo "Removing existing opnfv/yardstick containers..." - docker ps -a | grep opnfv/yardstick | awk '{print $1}' | xargs docker rm -f >$redirect + docker ps -a | awk "/${image_id}/ {print \$1}" | xargs docker rm -f >${redirect} fi # Remove existing images if exist -if [[ ! -z $(docker images | grep opnfv/yardstick) ]]; then +if docker images | grep -q opnfv/yardstick; then echo "Docker images to remove:" docker images | head -1 && docker images | grep opnfv/yardstick - image_tags=($(docker images | grep opnfv/yardstick | awk '{print $2}')) - for tag in "${image_tags[@]}"; do - echo "Removing docker image opnfv/yardstick:$tag..." - docker rmi opnfv/yardstick:$tag >$redirect + image_ids=($(docker images | awk '/opnfv[/]yardstick/ {print $3}')) + for id in "${image_ids[@]}"; do + echo "Removing docker image id $id..." + docker rmi "${id}" >${redirect} done fi |