diff --git a/src/tm_mad/qcow2/ln b/src/tm_mad/qcow2/ln deleted file mode 120000 index 2926cd697b..0000000000 --- a/src/tm_mad/qcow2/ln +++ /dev/null @@ -1 +0,0 @@ -../shared/ln \ No newline at end of file diff --git a/src/tm_mad/qcow2/ln b/src/tm_mad/qcow2/ln new file mode 100755 index 0000000000..932fbfd815 --- /dev/null +++ b/src/tm_mad/qcow2/ln @@ -0,0 +1,85 @@ +#!/bin/bash + +# -------------------------------------------------------------------------- # +# Copyright 2002-2015, OpenNebula Project (OpenNebula.org), C12G Labs # +# # +# 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. # +#--------------------------------------------------------------------------- # + +# ln fe:SOURCE host:remote_system_ds/disk.i vmid dsid +# - fe is the front-end hostname +# - SOURCE is the path of the disk image in the form DS_BASE_PATH/disk +# - host is the target host to deploy the VM +# - remote_system_ds is the path for the system datastore in the host +# - vmid is the id of the VM +# - dsid is the target datastore (0 is the system datastore) + +SRC=$1 +DST=$2 + +VMID=$3 +DSID=$4 + +if [ -z "${ONE_LOCATION}" ]; then + TMCOMMON=/var/lib/one/remotes/tm/tm_common.sh +else + TMCOMMON=$ONE_LOCATION/var/remotes/tm/tm_common.sh +fi + +. $TMCOMMON + + +#------------------------------------------------------------------------------- +# Set dst path and dir +#------------------------------------------------------------------------------- +DST_PATH=`arg_path $DST` +DST_HOST=`arg_host $DST` +DST_DIR=`dirname $DST_PATH` + +SRC_ARG_PATH=`arg_path $SRC` + +DST_DS_PATH="$(dirname $(dirname $(dirname $DST_PATH)))" +SRC_DS_PATH="$(dirname $(dirname $SRC_ARG_PATH))" + +SRC_PATH="${DST_DS_PATH}${SRC_ARG_PATH##$SRC_DS_PATH}" +SNAP_DIR="${SRC_PATH}.snap" + +#------------------------------------------------------------------------------- +# Create DST path +#------------------------------------------------------------------------------- +ssh_make_path $DST_HOST $DST_DIR + +#------------------------------------------------------------------------------- +# Link (ln) SRC into DST +#------------------------------------------------------------------------------- +log "Linking $SRC_PATH in $DST" + +CMD=$(cat <