mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-21 14:50:08 +03:00
Feature #1254: Enhance TM MV action
This commit is contained in:
parent
666c0eef53
commit
7bdc2ab16c
@ -71,32 +71,43 @@ if [ "$SRC" == "$DST" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Get image information
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
XPATH="${DRIVER_PATH}/../../datastore/xpath.rb --stdin"
|
||||
|
||||
unset i XPATH_ELEMENTS
|
||||
|
||||
while IFS= read -r -d '' element; do
|
||||
XPATH_ELEMENTS[i++]="$element"
|
||||
done < <(onevm show -x $VMID| $XPATH \
|
||||
/VM/TEMPLATE/DISK[DISK_ID=$DISK_ID]/PERSISTENT)
|
||||
|
||||
PERSISTENT="${XPATH_ELEMENTS[0]}"
|
||||
|
||||
if [ -z "$PERSISTENT" ]; then
|
||||
IQN=$IQN-$VMID
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Start actions
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
if is_iscsi "$SRC_HOST"; then
|
||||
log "Logging out of $IQN in $SRC_HOST"
|
||||
|
||||
LOGOUT_CMD=$(cat <<EOF
|
||||
set -e
|
||||
IQN=\$(readlink $SRC_PATH |grep -o 'iqn.*$')
|
||||
IQN=\${IQN%-lun-1}
|
||||
$SUDO $(iscsiadm_logout "\$IQN")
|
||||
$SUDO $(iscsiadm_logout "$IQN")
|
||||
EOF
|
||||
)
|
||||
ssh_exec_and_log "$SRC_HOST" "$LOGOUT_CMD" \
|
||||
"Error logging out $SRC_HOST:$SRC_PATH (IQN)"
|
||||
"Error logging out $SRC_HOST:$SRC_PATH ($IQN)"
|
||||
fi
|
||||
|
||||
if is_iscsi "$DST_HOST"; then
|
||||
log "Logging in to IQN in $SRC_HOST"
|
||||
|
||||
log "Getting IQN from $SRC_HOST:$SRC_PATH"
|
||||
|
||||
IQN=$($SSH "$SRC_HOST" "readlink $SRC_PATH |grep -o 'iqn.*$'" )
|
||||
IQN=${IQN%-lun-1}
|
||||
|
||||
if [ -z "$IQN" ]; then
|
||||
log_error "Error getting IQN"
|
||||
exit 1
|
||||
fi
|
||||
log "Logging in to $IQN in $SRC_HOST"
|
||||
|
||||
TARGET_HOST=$(iqn_get_host "$IQN")
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user