From df2b13dc23a0d781e681204b7d3366292a8dc06c Mon Sep 17 00:00:00 2001 From: Tino Vazquez Date: Thu, 13 Sep 2012 15:04:08 +0200 Subject: [PATCH] feature #1437: Prevent fail for pre existing folder --- src/datastore_mad/remotes/vmfs/mkfs | 4 ++-- src/datastore_mad/remotes/vmfs/rm | 2 +- src/tm_mad/vmware/clone | 10 +++++----- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/datastore_mad/remotes/vmfs/mkfs b/src/datastore_mad/remotes/vmfs/mkfs index 35c65e92d7..17062f6323 100755 --- a/src/datastore_mad/remotes/vmfs/mkfs +++ b/src/datastore_mad/remotes/vmfs/mkfs @@ -95,13 +95,13 @@ if [ "$SSH" == "yes" ]; then ssh_exec_and_log $DST_HOST "mkdir -p /vmfs/volumes/$IMAGE_DS_ID/$DST_FOLDER" \ "Could not create disk directory /vmfs/volumes/$IMAGE_DS_ID/$DST_FOLDER on $DST_HOST" ssh_exec_and_log $DST_HOST "$VMKFSTOOLS -U [$IMAGE_DS_ID]$DST_FOLDER/disk.vmdk" - ssh_exec_and_log $DST_HOST "$VMKFSTOOLS -c ${SIZE}M -d ${VMWARE_DISK_TYPE} [$IMAGE_DS_ID]$DST_FOLDER/disk.vmdk" \ + ssh_exec_and_log $DST_HOST "$VMKFSTOOLS -c ${SIZE}M -d ${VMWARE_DISK_TYPE} [$IMAGE_DS_ID]$DST_FOLDER/disk.vmdk" \ "Cannot create [$IMAGE_DS_ID] $DST_FOLDER/disk.vmdk on $DST_HOST" else $VMKFSTOOLS $VI_PARAMS -U [$IMAGE_DS_ID]$DST_FOLDER/disk.vmdk &> /dev/null exec_and_log "vifs $VI_PARAMS --mkdir [$IMAGE_DS_ID]$DST_FOLDER" \ "Cannot create [$IMAGE_DS_ID] $DST_FOLDER on $DST_HOST" - exec_and_log "$VMKFSTOOLS $VI_PARAMS -c ${SIZE}M -d ${VMWARE_DISK_TYPE} [$IMAGE_DS_ID]$DST_FOLDER/disk.vmdk" \ + exec_and_log "$VMKFSTOOLS $VI_PARAMS -c ${SIZE}M -d ${VMWARE_DISK_TYPE} [$IMAGE_DS_ID]$DST_FOLDER/disk.vmdk" \ "Cannot create $IMAGE_DS_ID]$DST_FOLDER/disk.vmdk on $DST_HOST" fi diff --git a/src/datastore_mad/remotes/vmfs/rm b/src/datastore_mad/remotes/vmfs/rm index c93fc23b2d..48d28b1809 100755 --- a/src/datastore_mad/remotes/vmfs/rm +++ b/src/datastore_mad/remotes/vmfs/rm @@ -55,7 +55,7 @@ SRC="${XPATH_ELEMENTS[0]}" DS_NAME="${XPATH_ELEMENTS[1]}" DST_HOST=`get_destination_host $(dirname $0)` -DST_FOLDER=`basename $SRC` +DST_FOLDER=`basename $(dirname $SRC)` if [ "$SSH" != "yes" ]; then USERNAME=`echo $(cat $VMWARERC |grep ":username:"|cut -d":" -f 3|tr -d '"')` diff --git a/src/tm_mad/vmware/clone b/src/tm_mad/vmware/clone index 0c9855a58e..d8a458d9af 100755 --- a/src/tm_mad/vmware/clone +++ b/src/tm_mad/vmware/clone @@ -47,6 +47,7 @@ source $(dirname $0)/tm_vmwarerc #------------------------------------------------------------------------------- SRC_PATH=`arg_path $SRC` SRC_PATH="../../${SRC_PATH##"$DS_DIR/"}" +SRC_FOLDER=`basename $SRC_PATH` DST_PATH=`arg_path $DST` DST_HOST=`arg_host $DST` @@ -56,7 +57,7 @@ DST_FOLDER=`basename $DST_PATH` if [ "$SSH" != "yes" ]; then USERNAME=`echo $(cat $VMWARERC |grep ":username:"|cut -d":" -f 3|tr -d '"')` PASSWORD=`echo $(cat $VMWARERC |grep ":password:"|cut -d":" -f 3|tr -d '"')` - IMAGE_DS_NAME=`basename $(dirname $SRC_PATH)` + IMAGE_DS_NAME=`basename $(dirname $SRC_PATH)` SYSTEM_DS_NAME=`basename $(dirname $(dirname $DST_PATH))` DST_DIR_WITHOUT_DS_PATH="[$SYSTEM_DS_NAME]${DST_PATH##"$DS_DIR/$SYSTEM_DS_NAME/"}" VI_PARAMS="--server $DST_HOST --username $USERNAME --password $PASSWORD" @@ -66,9 +67,8 @@ if [ "$SSH" == "yes" ]; then ssh_make_path $DST_HOST $DST_PATH else # Two calls needed since vifs cannot do a mkdir -p - vifs $VI_PARAMS --mkdir [$SYSTEM_DS_NAME]$VMID - exec_and_log "vifs $VI_PARAMS --mkdir [$SYSTEM_DS_NAME]$VMID/$DST_FOLDER" \ - "Cannot create [$SYSTEM_DS_NAME]$VMID/$DST_FOLDER in $DST_HOST" + vifs $VI_PARAMS --force --mkdir [$SYSTEM_DS_NAME]$VMID &> /dev/null + vifs $VI_PARAMS --force --mkdir [$SYSTEM_DS_NAME]$VMID/$DST_FOLDER &> /dev/null fi #------------------------------------------------------------------------------- @@ -93,7 +93,7 @@ EOF ) ssh_exec_and_log $DST_HOST "$CLONESCRIPT" "Error cloning $SRC to $DST" else - exec_and_log "$VMKFSTOOLS $VI_PARAMS -i \"$SRC_DIR_WITHOUT_DS_PATH/disk.vmdk\" -d thin \"$DST_DIR_WITHOUT_DS_PATH/disk.vmdk\"" \ + 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