diff --git a/src/tm_mad/shared/ln b/src/tm_mad/shared/ln index 30ff0ec6c4..19aa46786c 100755 --- a/src/tm_mad/shared/ln +++ b/src/tm_mad/shared/ln @@ -79,7 +79,7 @@ else log "Linking $SRC_PATH in $DST" ssh_exec_and_log $DST_HOST \ - "cd $DST_DIR; ln -s $SRC_PATH $DST_PATH" \ + "cd $DST_DIR; rm $DST_PATH ; ln -s $SRC_PATH $DST_PATH" \ "Error linking $SRC to $DST" fi diff --git a/src/tm_mad/vmfs/clone b/src/tm_mad/vmfs/clone index b066846806..cf0cd7529d 100755 --- a/src/tm_mad/vmfs/clone +++ b/src/tm_mad/vmfs/clone @@ -87,12 +87,20 @@ if which sudo > /dev/null; then fi \$SUDO_CMD $VMKFSTOOLS -U $DST_PATH/disk.vmdk +\$SUDO rm $DST_PATH/* \$SUDO_CMD $VMKFSTOOLS -i $SRC_PATH/disk.vmdk -d thin $DST_PATH/disk.vmdk EOF ) ssh_exec_and_log $DST_HOST "$CLONESCRIPT" "Error cloning $SRC to $DST" else $VMKFSTOOLS $VI_PARAMS -U [$SYSTEM_DS_NAME]$VMID/$DST_FOLDER/disk.vmdk &> /dev/null + + # Erase in case that vmkfstool didn't recognize the disk + FILES_TO_ERASE=`vifs $VI_PARAMS --dir [$SYSTEM_DS_NAME]$VMID/$DST_FOLDER|grep -v "Content Listing"|grep -v "\-\-\-\-\-\-\-\-"|egrep -v "^[[:space:]]*$"` + for file in $FILES_TO_ERASE; do + vifs $VI_PARAMS --force --rm [$SYSTEM_DS_NAME]$VMID/$DST_FOLDER/$file + done + exec_and_log "$VMKFSTOOLS $VI_PARAMS -i [$IMAGE_DS_NAME]$SRC_FOLDER/disk.vmdk -d thin [$SYSTEM_DS_NAME]$VMID/$DST_FOLDER/disk.vmdk" \ "Error cloning $SRC to $DST" fi diff --git a/src/tm_mad/vmfs/mkimage b/src/tm_mad/vmfs/mkimage index 2e5fd28e63..c6a1f090b9 100755 --- a/src/tm_mad/vmfs/mkimage +++ b/src/tm_mad/vmfs/mkimage @@ -69,6 +69,7 @@ if [ "$USE_SSH" == "yes" ]; then MKFS_CMD=`mkfs_command $DST_PATH $FSTYPE $SIZE` MKSCRIPT=$(cat < /dev/null + + # Erase in case that vmkfstool didn't recognize the disk + FILES_TO_ERASE=`vifs $VI_PARAMS --dir [$SYSTEM_DS_NAME]$VMID/$DST_FOLDER|grep -v "Content Listing"|grep -v "\-\-\-\-\-\-\-\-"|egrep -v "^[[:space:]]*$"` + for file in $FILES_TO_ERASE; do + vifs $VI_PARAMS --force --rm [$SYSTEM_DS_NAME]$VMID/$DST_FOLDER/$file + done + exec_and_log "$VMKFSTOOLS $VI_PARAMS -c ${SIZE}M -d ${VMWARE_DISK_TYPE} [$SYSTEM_DS_NAME]$VMID/$DST_FOLDER/disk.vmdk" \ "Cannot create [$SYSTEM_DS_NAME]$VMID/$DST_FOLDER/disk.vmdk on $DST_HOST" fi