summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Brattain <ross.b.brattain@intel.com>2017-09-11 18:44:45 -0700
committerRoss Brattain <ross.b.brattain@intel.com>2017-09-11 18:48:23 -0700
commit17328e1f83dc28f96f1b858d6ee7a7412dfbb8e8 (patch)
tree2e2fe44970dd0f2452189ed415c3f46d78952f54
parenta3ef9d8f755464ac8af4cc19efae970d69251010 (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-xjjb/yardstick/yardstick-cleanup.sh26
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