#!/bin/bash -x # -------------------------------------------------------------------------- # # Copyright 2002-2015, OpenNebula Project, OpenNebula Systems # # # # 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. # #--------------------------------------------------------------------------- # # mvds host:remote_system_ds/disk.i fe:SOURCE 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 SRC_PATH="$(arg_path $SRC)" SRC_HOST="$(arg_host $SRC)" SRC_PATH_SNAP="${SRC_PATH}.snap" DST_SNAP="${DST}.snap" #------------------------------------------------------------------------------- # Move the image back to the datastore #------------------------------------------------------------------------------- log "Moving $SRC to datastore as $DST" exec_and_log "$SCP -r $SRC $DST" "Error copying $SRC to $DST" if $SSH $SRC_HOST ls ${SRC_PATH_SNAP} >/dev/null 2>&1; then exec_and_log "rsync -r --delete ${SRC_HOST}:${SRC_PATH_SNAP}/ ${DST_SNAP}" fi exit 0