From 8a5dcad74dd8654e97ef82cb70b7ec6802e2a5ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Constantino=20V=C3=A1zquez=20Blanco?= Date: Wed, 15 Jul 2009 16:11:10 +0000 Subject: [PATCH] Adding default TM for VMWare: NFS git-svn-id: http://svn.opennebula.org/one/trunk@695 3034c82b-c49b-4eb3-8279-a7acafdc01c0 --- src/tm_mad/vmware/tm_clone.sh | 17 ++------ src/tm_mad/vmware/tm_context.sh | 69 -------------------------------- src/tm_mad/vmware/tm_delete.sh | 10 +---- src/tm_mad/vmware/tm_ln.sh | 35 ---------------- src/tm_mad/vmware/tm_mkimage.sh | 50 ----------------------- src/tm_mad/vmware/tm_mv.sh | 69 -------------------------------- src/tm_mad/vmware/tm_vmware.conf | 10 ++--- src/tm_mad/vmware/tm_vmwarerc | 3 ++ 8 files changed, 13 insertions(+), 250 deletions(-) delete mode 100755 src/tm_mad/vmware/tm_context.sh delete mode 100755 src/tm_mad/vmware/tm_ln.sh delete mode 100755 src/tm_mad/vmware/tm_mkimage.sh delete mode 100755 src/tm_mad/vmware/tm_mv.sh diff --git a/src/tm_mad/vmware/tm_clone.sh b/src/tm_mad/vmware/tm_clone.sh index 3bd2c8ec83..2f7cd6a670 100755 --- a/src/tm_mad/vmware/tm_clone.sh +++ b/src/tm_mad/vmware/tm_clone.sh @@ -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 diff --git a/src/tm_mad/vmware/tm_context.sh b/src/tm_mad/vmware/tm_context.sh deleted file mode 100755 index 298a3772e4..0000000000 --- a/src/tm_mad/vmware/tm_context.sh +++ /dev/null @@ -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" diff --git a/src/tm_mad/vmware/tm_delete.sh b/src/tm_mad/vmware/tm_delete.sh index 60e0e0a028..e9e518b8d5 100755 --- a/src/tm_mad/vmware/tm_delete.sh +++ b/src/tm_mad/vmware/tm_delete.sh @@ -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 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" diff --git a/src/tm_mad/vmware/tm_ln.sh b/src/tm_mad/vmware/tm_ln.sh deleted file mode 100755 index 15a5e80d4b..0000000000 --- a/src/tm_mad/vmware/tm_ln.sh +++ /dev/null @@ -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 diff --git a/src/tm_mad/vmware/tm_mkimage.sh b/src/tm_mad/vmware/tm_mkimage.sh deleted file mode 100755 index d76b88585c..0000000000 --- a/src/tm_mad/vmware/tm_mkimage.sh +++ /dev/null @@ -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 diff --git a/src/tm_mad/vmware/tm_mv.sh b/src/tm_mad/vmware/tm_mv.sh deleted file mode 100755 index 6ba3a07460..0000000000 --- a/src/tm_mad/vmware/tm_mv.sh +++ /dev/null @@ -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 diff --git a/src/tm_mad/vmware/tm_vmware.conf b/src/tm_mad/vmware/tm_vmware.conf index 0123f1c2ff..7967dba24d 100644 --- a/src/tm_mad/vmware/tm_vmware.conf +++ b/src/tm_mad/vmware/tm_vmware.conf @@ -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 diff --git a/src/tm_mad/vmware/tm_vmwarerc b/src/tm_mad/vmware/tm_vmwarerc index e73ea58caf..959f34821c 100644 --- a/src/tm_mad/vmware/tm_vmwarerc +++ b/src/tm_mad/vmware/tm_vmwarerc @@ -20,3 +20,6 @@ # Name of the ESX(i) datastore DATASTORE=datastore1 + +# Local path of the datastore +DATASTORE_PATH=/images/vmware