1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-16 22:50:10 +03:00

Adding default TM for VMWare: NFS

git-svn-id: http://svn.opennebula.org/one/trunk@695 3034c82b-c49b-4eb3-8279-a7acafdc01c0
This commit is contained in:
Constantino Vázquez Blanco 2009-07-15 16:11:10 +00:00
parent c3c6735d3c
commit 8a5dcad74d
8 changed files with 13 additions and 250 deletions

View File

@ -29,19 +29,8 @@ fi
. $TMCOMMON
SRC_PATH=`arg_path $SRC`
DST_PATH=`arg_path $DST`
# Get rid of path/images, we don't need it
DST_PATH=`dirname $DST_PATH`
SRC_HOST=`arg_host $SRC`
DST_HOST=`arg_host $DST`
log "$1 $2"
log "DST: $DST_PATH"
BASE_SRC=`basename $SRC_PATH`
BASE_DST=`basename $DST_PATH`
case $SRC in
http://*)
@ -51,10 +40,10 @@ http://*)
*)
log "Cloning $SRC"
scp -r $SRC $DST_HOST:/vmfs/volumes/$DATASTORE/
ssh $DST_HOST "cd /vmfs/volumes/$DATASTORE ; mv $BASE_SRC $BASE_DST"
VM_ID=`echo $DST | sed -e 's/.*\/\([0-9]\+\)\/images\/.*/\1/'`
sudo cp -r $SRC_PATH $DATASTORE_PATH/one-$VM_ID &>/dev/null
sudo mv $DATASTORE_PATH/one-$VM_ID/*.vmx $DATASTORE_PATH/one-$VM_ID/one-$VM_ID.vmx
;;
esac
ssh $DST_HOST chmod a+w /vmfs/volumes/$DATASTORE/$BASE_DST

View File

@ -1,69 +0,0 @@
#!/bin/bash
# -------------------------------------------------------------------------- #
# Copyright 2002-2009, Distributed Systems Architecture Group, Universidad #
# Complutense de Madrid (dsa-research.org) #
# #
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
# not use this file except in compliance with the License. You may obtain #
# a copy of the License at #
# #
# http://www.apache.org/licenses/LICENSE-2.0 #
# #
# Unless required by applicable law or agreed to in writing, software #
# distributed under the License is distributed on an "AS IS" BASIS, #
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
# See the License for the specific language governing permissions and #
# limitations under the License. #
#--------------------------------------------------------------------------- #
# Parameters: a b c d e f g h
# SRC: a b c d e f g
# DST: h
while (( "$#" )); do
if [ "$#" == "1" ]; then
DST=$1
else
SRC="$SRC $1"
fi
shift
done
if [ -z "${ONE_LOCATION}" ]; then
TMCOMMON=/usr/lib/one/mads/tm_common.sh
else
TMCOMMON=$ONE_LOCATION/lib/mads/tm_common.sh
fi
. $TMCOMMON
DST_PATH=`arg_path $DST`
DST_FILE=`basename $DST_PATH`
DST_PATH=`dirname $DST_PATH`
DST_DIR=`dirname $DST_PATH`
DST_HASH=`echo -n $DST | md5sum | awk '{print $1}'`
TMP_DIR="$ONE_LOCATION/var/$DST_HASH"
ISO_DIR="$TMP_DIR/isofiles"
DST_HOST=`arg_host $DST`
DST_ONEID_FOLDER=`dirname $DST_PATH`
DST_ONEID_FOLDER=`basename $DST_ONEID_FOLDER`
exec_and_log "mkdir -p $ISO_DIR"
for f in $SRC; do
case $f in
http://*)
exec_and_log "wget -O $ISO_DIR $f"
;;
*)
exec_and_log "cp -R $f $ISO_DIR"
;;
esac
done
exec_and_log "mkisofs -o $TMP_DIR/$DST_FILE -J -R $ISO_DIR"
scp $TMP_DIR/$DST_FILE $DST_HOST:/vmfs/volumes/$DATASTORE/$DST_ONEID_FOLDER
exec_and_log "rm -rf $TMP_DIR"

View File

@ -17,9 +17,6 @@
# limitations under the License. #
#--------------------------------------------------------------------------- #
SRC=$1
DST=$2
if [ -z "${ONE_LOCATION}" ]; then
TMCOMMON=/usr/lib/one/mads/tm_common.sh
else
@ -28,11 +25,8 @@ fi
. $TMCOMMON
SRC_PATH=`arg_path $SRC`
SRC_HOST=`arg_host $SRC`
# We just need the <vid> bit
SRC_PATH=`basename $SRC_PATH`
VM_ID=`echo $1 | sed -e 's/.*\/\([0-9]\+\)\/images\/.*/\1/'`
log "Deleting $SRC_PATH"
exec_and_log "ssh $SRC_HOST rm -rf /vmfs/volumes/$DATASTORE/$SRC_PATH"
exec_and_log "rm -rf $DATASTORE_PATH/one-$VM_ID"

View File

@ -1,35 +0,0 @@
#!/bin/bash
# -------------------------------------------------------------------------- #
# Copyright 2002-2009, Distributed Systems Architecture Group, Universidad #
# Complutense de Madrid (dsa-research.org) #
# #
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
# not use this file except in compliance with the License. You may obtain #
# a copy of the License at #
# #
# http://www.apache.org/licenses/LICENSE-2.0 #
# #
# Unless required by applicable law or agreed to in writing, software #
# distributed under the License is distributed on an "AS IS" BASIS, #
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
# See the License for the specific language governing permissions and #
# limitations under the License. #
#--------------------------------------------------------------------------- #
SRC=$1
DST=$2
if [ -z "${ONE_LOCATION}" ]; then
TMCOMMON=/usr/lib/one/mads/tm_common.sh
TM_COMMANDS_LOCATION=/usr/lib/one/tm_commands/
else
TMCOMMON=$ONE_LOCATION/lib/mads/tm_common.sh
TM_COMMANDS_LOCATION=$ONE_LOCATION/lib/tm_commands/
fi
. $TMCOMMON
log "Link $SRC_PATH (non shared dir, will clone)"
#exec_and_log "ln -s $SRC_PATH $DST_PATH"
exec $TM_COMMANDS_LOCATION/ssh/tm_clone.sh $SRC $DST

View File

@ -1,50 +0,0 @@
#!/bin/bash
# -------------------------------------------------------------------------- #
# Copyright 2002-2009, Distributed Systems Architecture Group, Universidad #
# Complutense de Madrid (dsa-research.org) #
# #
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
# not use this file except in compliance with the License. You may obtain #
# a copy of the License at #
# #
# http://www.apache.org/licenses/LICENSE-2.0 #
# #
# Unless required by applicable law or agreed to in writing, software #
# distributed under the License is distributed on an "AS IS" BASIS, #
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
# See the License for the specific language governing permissions and #
# limitations under the License. #
#--------------------------------------------------------------------------- #
if [ -z "${ONE_LOCATION}" ]; then
TMCOMMON=/usr/lib/one/mads/tm_common.sh
else
TMCOMMON=$ONE_LOCATION/lib/mads/tm_common.sh
fi
. $TMCOMMON
SIZE=$1
FSTYPE=$2
DST=$3
DST_PATH=`arg_path $DST`
DST_HOST=`arg_host $DST`
DST_DIR=`dirname $DST_PATH`
# Get rid of path/images, we don't need it
DST_DIR=`dirname $DST_DIR`
DST_HASH=`echo -n $DST | md5sum | awk '{print $1}'`
TMP_DIR="$ONE_LOCATION/var/$DST_HASH"
NAME_OF_CONTEXT_FILE=`basename $DST_PATH`
DST_ONEID_FOLDER=`basename $DST_DIR`
exec_and_log "mkdir -p $TMP_DIR"
ssh $DST_HOST \"cd /vmfs/volumes/$DATASTORE; mkdir $DST_DIR\"
exec_and_log "dd if=/dev/zero of=$TMP_DIR/$NAME_OF_CONTEXT_FILE bs=1 count=1 seek=${SIZE}M"
exec_and_log "mkfs -t $FSTYPE -F $TMP_DIR/$NAME_OF_CONTEXT_FILE"
scp $TMP_DIR/$NAME_OF_CONTEXT_FILE $DST_HOST:/vmfs/volumes/$DATASTORE/$DST_ONEID_FOLDER
ssh $DST_HOST chmod a+rw $DST_PATH

View File

@ -1,69 +0,0 @@
#!/bin/bash
# -------------------------------------------------------------------------- #
# Copyright 2002-2009, Distributed Systems Architecture Group, Universidad #
# Complutense de Madrid (dsa-research.org) #
# #
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
# not use this file except in compliance with the License. You may obtain #
# a copy of the License at #
# #
# http://www.apache.org/licenses/LICENSE-2.0 #
# #
# Unless required by applicable law or agreed to in writing, software #
# distributed under the License is distributed on an "AS IS" BASIS, #
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
# See the License for the specific language governing permissions and #
# limitations under the License. #
#--------------------------------------------------------------------------- #
SRC=$1
DST=$2
if [ -z "${ONE_LOCATION}" ]; then
TMCOMMON=/usr/lib/one/mads/tm_common.sh
else
TMCOMMON=$ONE_LOCATION/lib/mads/tm_common.sh
fi
. $TMCOMMON
SRC_PATH=`arg_path $SRC`
DST_PATH=`arg_path $DST`
SRC_HOST=`arg_host $SRC`
DST_HOST=`arg_host $DST`
if [ $SRC_HOST -ne `hostname` ]; then
$VM_ID=`sed -e 's/.*\/\([0-9]\+\)\/images\/.*/\1/`
$VM_NAME=one-$VM_ID
$LAST_BIT_OF_PATH=`basename $SRC_PATH`
if [ $LAST_BIT_OF_PATH -eq "images" ]; then
SRC_PATH="/vmfs/volumes/$DATASTORE/"$VM_NAME
else
SRC_PATH="/vmfs/volumes/$DATASTORE/"$VM_NAME"/$LAST_BIT_OF_PATH
fi
fi
if [ $DST_HOST -ne `hostname` ]; then
$VM_ID=`sed -e 's/.*\/\([0-9]\+\)\/images\/.*/\1/`
$VM_NAME=one-$VM_ID
$LAST_BIT_OF_PATH=`basename $DST_PATH`
if [ $LAST_BIT_OF_PATH -eq "images" ]; then
DST_PATH="/vmfs/volumes/$DATASTORE/"$VM_NAME
else
DST_PATH="/vmfs/volumes/$DATASTORE/"$VM_NAME"/$LAST_BIT_OF_PATH
fi
fi
DST_DIR=`dirname $DST_PATH`
if [ -d $DST_PATH ]; then
DST_ONEID_FOLDER=`basename `
else
fi
log "Moving $SRC_PATH"
scp -r $SRC $DST_HOST:/vmfs/volumes/$DATASTORE/$
ssh $SRC_HOST rm -rf $SRC_PATH

View File

@ -1,6 +1,6 @@
CLONE = vmware/tm_clone.sh
LN = vmware/tm_ln.sh
MKSWAP = dummy/tm_dymmy.sh
MKIMAGE = vmware/tm_mkimage.sh
DELETE = vmware/tm_delete.sh
MV = vmware/tm_mv.sh
LN = dummy/tm_dummy.sh
MKSWAP = dummy/tm_dummy.sh
MKIMAGE = dummy/tm_dummy.sh
DELETE = dummy/tm_delete.sh
MV = dummy/tm_dummy.sh

View File

@ -20,3 +20,6 @@
# Name of the ESX(i) datastore
DATASTORE=datastore1
# Local path of the datastore
DATASTORE_PATH=/images/vmware