Ignore missing path in unmount_dir
If the path is missing, unmount_dir currently exits with an error which unintentionally aborts cleanup efforts early. This change makes unmount_dir idempotent by exiting successfully if a directory doesn't exist. Change-Id: I1491b4344e8569ecb2833f44baee445a89a39d61
This commit is contained in:
parent
f1d53f2e31
commit
aa90f7991a
@ -341,7 +341,7 @@ function unmount_dir {
|
|||||||
|
|
||||||
if [ ! -d $dir ]; then
|
if [ ! -d $dir ]; then
|
||||||
echo "*** $dir is not a directory"
|
echo "*** $dir is not a directory"
|
||||||
return 1
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# get rid of any symlink elements in the incoming path, because
|
# get rid of any symlink elements in the incoming path, because
|
||||||
|
@ -113,9 +113,7 @@ function finalise_base () {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
# Cleanup /tmp in the guest, so there is less cruft left there
|
# Cleanup /tmp in the guest, so there is less cruft left there
|
||||||
if [ -d "$TMP_MOUNT_PATH/tmp" ]; then
|
|
||||||
unmount_dir $TMP_MOUNT_PATH/tmp
|
unmount_dir $TMP_MOUNT_PATH/tmp
|
||||||
fi
|
|
||||||
find $TMP_MOUNT_PATH/tmp -maxdepth 1 -mindepth 1 | xargs sudo rm -rf --one-file-system
|
find $TMP_MOUNT_PATH/tmp -maxdepth 1 -mindepth 1 | xargs sudo rm -rf --one-file-system
|
||||||
# Truncate /var/log files in preparation for first boot
|
# Truncate /var/log files in preparation for first boot
|
||||||
sudo find ${TMP_MOUNT_PATH}/var/log -type f -exec cp /dev/null '{}' \;
|
sudo find ${TMP_MOUNT_PATH}/var/log -type f -exec cp /dev/null '{}' \;
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
# need a human in the loop. Thus it's mostly useful for developers
|
# need a human in the loop. Thus it's mostly useful for developers
|
||||||
# during testing, but not so great for CI
|
# during testing, but not so great for CI
|
||||||
|
|
||||||
source ../lib/common-functions
|
source ../diskimage_builder/lib/common-functions
|
||||||
|
|
||||||
#
|
#
|
||||||
# Directory mounting and unmounting
|
# Directory mounting and unmounting
|
||||||
@ -44,6 +44,14 @@ else
|
|||||||
echo "*** PASS all directories unmounted"
|
echo "*** PASS all directories unmounted"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# unmount missing dir
|
||||||
|
if unmount_dir /this/path/does/not/exist/but/this/should/not/fail; then
|
||||||
|
echo "*** PASS unmount_dir ignored a missing path"
|
||||||
|
else
|
||||||
|
echo "*** FAILED unmount_dir should ignore missing paths"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
# cleanup
|
# cleanup
|
||||||
rm -rf $TMP_DIR
|
rm -rf $TMP_DIR
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user