mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-21 14:50:08 +03:00
feature #1437: Lightrefactor TM VMFS
This commit is contained in:
parent
7d49f9cbcb
commit
41f4891dce
@ -95,7 +95,7 @@ IMAGE_FORMAT=vmdk
|
||||
VMWARE_DISK_TYPE=`echo $FSTYPE|cut -d'_' -f 2`
|
||||
|
||||
if [ "$USE_SSH" == "yes" ]; then
|
||||
$SSH $DST_HOST $VMKFSTOOLS -U [$DS_ID]$DST_FOLDER/disk.vmdk
|
||||
$SSH $DST_HOST $VMKFSTOOLS -U [$DS_ID]$DST_FOLDER/disk.vmdk &> /dev/null
|
||||
ssh_exec_and_log $DST_HOST "$VMKFSTOOLS -c ${SIZE}M -d ${VMWARE_DISK_TYPE} /vmfs/volumes/$DS_ID/$DST_FOLDER/disk.vmdk" \
|
||||
"Cannot create [$DS_ID] $DST_FOLDER/disk.vmdk on $DST_HOST"
|
||||
else
|
||||
|
@ -410,7 +410,7 @@ function iqn_get_host {
|
||||
echo ${TARGET%%.$VG_NAME.$LV_NAME}
|
||||
}
|
||||
|
||||
function vmfs_crate_remote_path {
|
||||
function vmfs_create_remote_path {
|
||||
DS_ID=$1
|
||||
# Create DST in DST_HOST
|
||||
if [ "$USE_SSH" == "yes" ]; then
|
||||
@ -433,3 +433,13 @@ function vmfs_set_up {
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
function vmfs_create_double_path {
|
||||
DS_ID=$1
|
||||
FIRST_FOLDER=$2
|
||||
SECOND_FOLDER=$3
|
||||
# Two calls needed since vifs cannot do a mkdir -p
|
||||
vifs $VI_PARAMS --force --mkdir [$DS_ID]$FIRST_FOLDER &> /dev/null
|
||||
vifs $VI_PARAMS --force --mkdir [$DS_ID]$FIRST_FOLDER/$SECOND_FOLDER &> /dev/null
|
||||
|
||||
}
|
||||
|
@ -53,19 +53,13 @@ DST_DIR=`dirname $DST_PATH`
|
||||
DST_FOLDER=`basename $DST_PATH`
|
||||
IMAGE_DS_NAME=`basename $(dirname $SRC_PATH)`
|
||||
SYSTEM_DS_NAME=`basename $(dirname $(dirname $DST_PATH))`
|
||||
|
||||
USE_SSH=$(get_tm_use_ssh $IMAGE_DS_NAME)
|
||||
|
||||
if [ "$USE_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 '"')`
|
||||
#-------------------------------------------------------------------------------
|
||||
# Set up datastore
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
if [ -z $PASSWORD ]; then
|
||||
VI_PARAMS="--server $DST_HOST --username $USERNAME --password \"\""
|
||||
else
|
||||
VI_PARAMS="--server $DST_HOST --username $USERNAME --password $PASSWORD"
|
||||
fi
|
||||
fi
|
||||
vmfs_set_up
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create remote folder
|
||||
@ -74,9 +68,7 @@ fi
|
||||
if [ "$USE_SSH" == "yes" ]; then
|
||||
ssh_make_path $DST_HOST $DST_PATH
|
||||
else
|
||||
# Two calls needed since vifs cannot do a mkdir -p
|
||||
vifs $VI_PARAMS --force --mkdir [$SYSTEM_DS_NAME]$VMID &> /dev/null
|
||||
vifs $VI_PARAMS --force --mkdir [$SYSTEM_DS_NAME]$VMID/$DST_FOLDER &> /dev/null
|
||||
vmfs_create_double_path $SYSTEM_DS_NAME $VMID $DST_FOLDER
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
@ -48,18 +48,13 @@ DST_PATH=`arg_path $DST`
|
||||
DST_HOST=`arg_host $DST`
|
||||
DST_DIR=`dirname $DST_PATH`
|
||||
DST_FOLDER=`basename $DST_PATH`
|
||||
|
||||
USE_SSH=$(get_tm_use_ssh $DS_ID)
|
||||
|
||||
if [ "$USE_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 '"')`
|
||||
if [ -z $PASSWORD ]; then
|
||||
VI_PARAMS="--server $DST_HOST --username $USERNAME --password \"\""
|
||||
else
|
||||
VI_PARAMS="--server $DST_HOST --username $USERNAME --password $PASSWORD"
|
||||
fi
|
||||
fi
|
||||
#-------------------------------------------------------------------------------
|
||||
# Set up datastore
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
vmfs_set_up
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create remote folder
|
||||
@ -68,8 +63,7 @@ fi
|
||||
if [ "$USE_SSH" == "yes" ]; then
|
||||
ssh_make_path $DST_HOST $DST_DIR
|
||||
else
|
||||
vifs $VI_PARAMS --mkdir [$DS_ID]$VM_ID
|
||||
vifs $VI_PARAMS --mkdir [$DS_ID]$VM_ID/$DST_FOLDER
|
||||
vmfs_create_double_path $DS_ID $VM_ID $DST_FOLDER
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
@ -47,6 +47,12 @@ source $(dirname $0)/tm_vmfs.conf
|
||||
|
||||
USE_SSH=$(get_tm_use_ssh $DSID)
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Set up datastore
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
vmfs_set_up
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Return if deleting a disk, we will delete them when removing the
|
||||
# remote_system_ds directory for the VM (remotely)
|
||||
@ -63,14 +69,6 @@ log "Deleting $DST_PATH"
|
||||
if [ "$USE_SSH" == "yes" ]; then
|
||||
ssh_exec_and_log $DST_HOST "rm -rf $DST_PATH" "Error deleting $DST_PATH"
|
||||
else
|
||||
USERNAME=`echo $(cat $VMWARERC |grep ":username:"|cut -d":" -f 3|tr -d '"')`
|
||||
PASSWORD=`echo $(cat $VMWARERC |grep ":password:"|cut -d":" -f 3|tr -d '"')`
|
||||
if [ -z $PASSWORD ]; then
|
||||
VI_PARAMS="--server $DST_HOST --username $USERNAME --password \"\""
|
||||
else
|
||||
VI_PARAMS="--server $DST_HOST --username $USERNAME --password $PASSWORD"
|
||||
fi
|
||||
|
||||
DIRS_TO_ERASE=`vifs $VI_PARAMS --dir [$DSID]$VMID|grep -v "Content Listing"|grep -v "\-\-\-\-\-\-\-\-"|egrep -v "^[[:space:]]*$"`
|
||||
for dir in $DIRS_TO_ERASE; do
|
||||
FILES_TO_ERASE=`vifs $VI_PARAMS --dir [$DSID]$VMID/$dir|grep -v "Content Listing"|grep -v "\-\-\-\-\-\-\-\-"|egrep -v "^[[:space:]]*$"`
|
||||
@ -83,7 +81,6 @@ else
|
||||
done
|
||||
exec_and_log "vifs $VI_PARAMS --force --rm [$DSID]$VMID" \
|
||||
"Cannot delete [$DSID]$VMID in $DST_HOST"
|
||||
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
@ -51,17 +51,13 @@ DST_DIR=`dirname $DST_PATH`
|
||||
DST_FOLDER=`basename $DST_PATH`
|
||||
|
||||
USE_SSH=$(get_tm_use_ssh $DSID)
|
||||
SYSTEM_DS_NAME=`basename $(dirname $(dirname $DST_PATH))`
|
||||
|
||||
if [ "$USE_SSH" != "yes" ]; then
|
||||
SYSTEM_DS_NAME=`basename $(dirname $(dirname $DST_PATH))`
|
||||
USERNAME=`echo $(cat $VMWARERC |grep ":username:"|cut -d":" -f 3|tr -d '"')`
|
||||
PASSWORD=`echo $(cat $VMWARERC |grep ":password:"|cut -d":" -f 3|tr -d '"')`
|
||||
if [ -z $PASSWORD ]; then
|
||||
VI_PARAMS="--server $DST_HOST --username $USERNAME --password \"\""
|
||||
else
|
||||
VI_PARAMS="--server $DST_HOST --username $USERNAME --password $PASSWORD"
|
||||
fi
|
||||
fi
|
||||
#-------------------------------------------------------------------------------
|
||||
# Set up datastore
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
vmfs_set_up
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Make the new image (file-based)
|
||||
@ -82,9 +78,7 @@ EOF
|
||||
|
||||
ssh_exec_and_log $DST_HOST "$MKSCRIPT" "Could not create image $DST_PATH"
|
||||
else
|
||||
# Two calls needed since vifs cannot do a mkdir -p
|
||||
vifs $VI_PARAMS --mkdir [$SYSTEM_DS_NAME]$VMID
|
||||
vifs $VI_PARAMS --mkdir [$SYSTEM_DS_NAME]$VMID/$DST_FOLDER
|
||||
vmfs_create_double_path $SYSTEM_DS_NAME $VMID $DST_FOLDER
|
||||
|
||||
VMWARE_DISK_TYPE=`echo $FSTYPE|cut -d'_' -f 2`
|
||||
$VMKFSTOOLS $VI_PARAMS -U [$SYSTEM_DS_NAME]$VMID/$DST_FOLDER/disk.vmdk &> /dev/null
|
||||
|
@ -55,17 +55,14 @@ DST_FOLDER=`basename $DST_PATH`
|
||||
|
||||
USE_SSH=$(get_tm_use_ssh $DSID)
|
||||
|
||||
if [ "$USE_SSH" != "yes" ]; then
|
||||
IMAGE_DS_NAME=`basename $(dirname $DST_PATH)`
|
||||
SYSTEM_DS_NAME=`basename $(dirname $(dirname $SRC_PATH))`
|
||||
USERNAME=`echo $(cat $VMWARERC |grep ":username:"|cut -d":" -f 3|tr -d '"')`
|
||||
PASSWORD=`echo $(cat $VMWARERC |grep ":password:"|cut -d":" -f 3|tr -d '"')`
|
||||
if [ -z $PASSWORD ]; then
|
||||
VI_PARAMS="--server $DST_HOST --username $USERNAME --password \"\""
|
||||
else
|
||||
VI_PARAMS="--server $DST_HOST --username $USERNAME --password $PASSWORD"
|
||||
fi
|
||||
fi
|
||||
IMAGE_DS_NAME=`basename $(dirname $DST_PATH)`
|
||||
SYSTEM_DS_NAME=`basename $(dirname $(dirname $SRC_PATH))`
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Set up datastore
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
vmfs_set_up
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Move the image back to the datastore
|
||||
|
Loading…
x
Reference in New Issue
Block a user