From 52b7872a32c91c2529647a1025f11475f9be6534 Mon Sep 17 00:00:00 2001 From: Ross Brattain Date: Thu, 19 Apr 2018 13:58:26 -0700 Subject: extra loopback cleanup try to cleanup in the shell script in case ansible errors maybe it is hopeless because of docker JIRA: YARDSTICK-1096 JIRA: YARDSTICK-1054 Change-Id: I759ded4731a7710a194a81530cfb35376eb7800d Signed-off-by: Ross Brattain --- ansible/build_yardstick_image.yml | 9 ++++----- tests/ci/load_images.sh | 9 +++++++++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/ansible/build_yardstick_image.yml b/ansible/build_yardstick_image.yml index 0fc29a9e3..072c12c66 100644 --- a/ansible/build_yardstick_image.yml +++ b/ansible/build_yardstick_image.yml @@ -76,13 +76,8 @@ - name: Debug dump loop devices command: losetup -a - register: losetup_output ignore_errors: true - - debug: - var: losetup_output - verbosity: 2 - - name: delete loop devices for image file # use this because kpartx -dv will fail if raw_imgfile was delete # but in theory we could have deleted file still attached to loopback device? @@ -90,6 +85,10 @@ shell: losetup -O NAME,BACK-FILE | grep "{{ raw_imgfile_basename }}" | awk '{ print $1 }' | xargs -l1 losetup -v -d ignore_errors: true + - name: Debug dump loop devices again + command: losetup -a + ignore_errors: true + - name: delete {{ raw_imgfile }} file: path: "{{ raw_imgfile }}" diff --git a/tests/ci/load_images.sh b/tests/ci/load_images.sh index dee675981..3fd17eebe 100755 --- a/tests/ci/load_images.sh +++ b/tests/ci/load_images.sh @@ -43,6 +43,12 @@ if [ "${YARD_IMG_ARCH}" == "arm64" ]; then fi fi +cleanup_loopbacks() { + # try again to cleanup loopbacks in case of error + losetup -a + losetup -O NAME,BACK-FILE | awk '/yardstick/ { print $1 }' | xargs -l1 losetup -v -d || true +} + build_yardstick_image() { echo @@ -56,6 +62,7 @@ build_yardstick_image() # Build the image. Retry once if the build fails $cmd || $cmd + cleanup_loopbacks if [ ! -f "${RAW_IMAGE}" ]; then echo "Failed building RAW image" exit 1 @@ -70,6 +77,7 @@ build_yardstick_image() -e YARD_IMG_ARCH=${YARD_IMG_ARCH} \ -vvv -i inventory.ini build_yardstick_image.yml + cleanup_loopbacks if [ ! -f "${QCOW_IMAGE}" ]; then echo "Failed building QCOW image" exit 1 @@ -80,6 +88,7 @@ build_yardstick_image() -e img_property="nsb" \ -e YARD_IMG_ARCH=${YARD_IMG_ARCH} \ -vvv -i inventory.ini build_yardstick_image.yml + cleanup_loopbacks if [ ! -f "${QCOW_NSB_IMAGE}" ]; then echo "Failed building QCOW NSB image" exit 1 -- cgit 1.2.3-korg