1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-21 14:50:08 +03:00

feature #1437: Prevent fail for pre existing folder

This commit is contained in:
Tino Vazquez 2012-09-13 15:04:08 +02:00
parent 65113f0dfc
commit df2b13dc23
3 changed files with 8 additions and 8 deletions

View File

@ -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

View File

@ -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 '"')`

View File

@ -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