From 9110aa631b332b219e6a4165be8faaac8f320b66 Mon Sep 17 00:00:00 2001 From: Csaba Henk Date: Thu, 24 Sep 2015 12:30:36 +0200 Subject: [PATCH] retry mkfs.xfs until subject LV becomes available (or a time bound is reached) Closes-Bug: #1499223 Change-Id: I7ede18cadad1c7a30d740ae17cab52b3b9271ce0 --- devstack/gluster-functions.sh | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/devstack/gluster-functions.sh b/devstack/gluster-functions.sh index 853d38b..4383d56 100755 --- a/devstack/gluster-functions.sh +++ b/devstack/gluster-functions.sh @@ -225,7 +225,21 @@ function _create_thin_lv_gluster_vol { sudo lvcreate -V $vol_size -T $GLUSTERFS_VG_NAME/$GLUSTERFS_THIN_POOL_NAME -n $vol_name # Format the LV. - sudo mkfs.xfs -i size=512 /dev/$GLUSTERFS_VG_NAME/$vol_name + local mkfs_result=0 + for i in `seq 100`; do + mkfs_result=0 + sudo mkfs.xfs -i size=512 /dev/$GLUSTERFS_VG_NAME/$vol_name || mkfs_result=$? + [ $mkfs_result -eq 0 ] && break + sleep 0.1 + done + local mkfs_duration="$((i/10)).$((i%10))" + if [ $mkfs_result -eq 0 ]; then + echo "mkfs.xfs succeeded after retrying for $mkfs_duration" + true + else + echo "giving up on mkfs.xfs after retrying for $mkfs_duration with exit code $mkfs_result" + false + fi # Mount the filesystem mkdir -p $MANILA_STATE_PATH/export/$vol_name