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

Merge branch 'feature-2262'

This commit is contained in:
Ruben S. Montero 2013-08-17 21:49:44 +02:00
commit a2d228795e
23 changed files with 170 additions and 104 deletions

View File

@ -17,9 +17,6 @@
# Default POOL_NAME
POOL_NAME=one
# Default Ceph server host. Storage operations will be performed in this host.
HOST=localhost
# Staging directory
# A directory in the Ceph server host where image will be transferred to
# temporarily during the create/mkfs processes. This directoy MUST exist,

View File

@ -53,11 +53,16 @@ done < <($XPATH /DS_DRIVER_ACTION_DATA/DATASTORE/BASE_PATH \
unset i
BASE_PATH="${XPATH_ELEMENTS[i++]}"
DST_HOST="${XPATH_ELEMENTS[i++]:-$HOST}"
DST_HOST="${XPATH_ELEMENTS[i++]}"
POOL_NAME="${XPATH_ELEMENTS[i++]:-$POOL_NAME}"
SRC="${XPATH_ELEMENTS[i++]}"
SIZE="${XPATH_ELEMENTS[i++]}"
if [ -z "$DST_HOST" ]; then
error_message "Datastore template missing 'HOST' attribute."
exit -1
fi
SAFE_DIRS=""
IMAGE_NAME="one-${ID}"

View File

@ -66,7 +66,7 @@ unset i
BASE_PATH="${XPATH_ELEMENTS[i++]}"
RESTRICTED_DIRS="${XPATH_ELEMENTS[i++]}"
SAFE_DIRS="${XPATH_ELEMENTS[i++]}"
DST_HOST="${XPATH_ELEMENTS[i++]:-$HOST}"
DST_HOST="${XPATH_ELEMENTS[i++]}"
POOL_NAME="${XPATH_ELEMENTS[i++]:-$POOL_NAME}"
STAGING_DIR="${XPATH_ELEMENTS[i++]:-$STAGING_DIR}"
SRC="${XPATH_ELEMENTS[i++]}"
@ -76,6 +76,11 @@ SHA1="${XPATH_ELEMENTS[i++]}"
NO_DECOMPRESS="${XPATH_ELEMENTS[i++]}"
LIMIT_TRANSFER_BW="${XPATH_ELEMENTS[i++]}"
if [ -z "$DST_HOST" ]; then
error_message "Datastore template missing 'HOST' attribute."
exit -1
fi
set_up_datastore "$BASE_PATH" "$RESTRICTED_DIRS" "$SAFE_DIRS"
IMAGE_HASH=`generate_image_hash`

View File

@ -60,12 +60,17 @@ unset i
BASE_PATH="${XPATH_ELEMENTS[i++]}"
RESTRICTED_DIRS="${XPATH_ELEMENTS[i++]}"
SAFE_DIRS="${XPATH_ELEMENTS[i++]}"
DST_HOST="${XPATH_ELEMENTS[i++]:-$HOST}"
DST_HOST="${XPATH_ELEMENTS[i++]}"
POOL_NAME="${XPATH_ELEMENTS[i++]:-$POOL_NAME}"
STAGING_DIR="${XPATH_ELEMENTS[i++]:-$STAGING_DIR}"
FSTYPE="${XPATH_ELEMENTS[i++]}"
SIZE="${XPATH_ELEMENTS[i++]}"
if [ -z "$DST_HOST" ]; then
error_message "Datastore template missing 'HOST' attribute."
exit -1
fi
set_up_datastore "$BASE_PATH" "$RESTRICTED_DIRS" "$SAFE_DIRS"
IMAGE_HASH=`generate_image_hash`

View File

@ -41,15 +41,20 @@ ID=$2
XPATH="${DRIVER_PATH}/../xpath.rb -b $DRV_ACTION"
unset i XPATH_ELEMENTS
unset i j XPATH_ELEMENTS
while IFS= read -r -d '' element; do
XPATH_ELEMENTS[i++]="$element"
done < <($XPATH /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/HOST \
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/POOL_NAME)
HOST="${XPATH_ELEMENTS[0]:-$HOST}"
POOL_NAME="${XPATH_ELEMENTS[1]:-$POOL_NAME}"
HOST="${XPATH_ELEMENTS[j++]}"
POOL_NAME="${XPATH_ELEMENTS[j++]:-$POOL_NAME}"
if [ -z "$HOST" ]; then
error_message "Datastore template missing 'HOST' attribute."
exit -1
fi
# ------------ Compute datastore usage -------------

View File

@ -50,7 +50,12 @@ done < <($XPATH /DS_DRIVER_ACTION_DATA/IMAGE/SOURCE \
unset i
SRC="${XPATH_ELEMENTS[i++]}"
DST_HOST="${XPATH_ELEMENTS[i++]:-$HOST}"
DST_HOST="${XPATH_ELEMENTS[i++]}"
if [ -z "$DST_HOST" ]; then
error_message "Datastore template missing 'HOST' attribute."
exit -1
fi
log "Removing $SRC from the rbd image repository in $DST_HOST"

View File

@ -40,7 +40,7 @@ ID=$2
XPATH="${DRIVER_PATH}/../xpath.rb -b $DRV_ACTION"
unset i XPATH_ELEMENTS
unset i j XPATH_ELEMENTS
while IFS= read -r -d '' element; do
XPATH_ELEMENTS[i++]="$element"
@ -53,14 +53,19 @@ done < <($XPATH /DS_DRIVER_ACTION_DATA/DATASTORE/BASE_PATH \
/DS_DRIVER_ACTION_DATA/IMAGE/PATH \
/DS_DRIVER_ACTION_DATA/IMAGE/SIZE)
BASE_PATH="${XPATH_ELEMENTS[0]}"
RESTRICTED_DIRS="${XPATH_ELEMENTS[1]}"
SAFE_DIRS="${XPATH_ELEMENTS[2]}"
DST_HOST="${XPATH_ELEMENTS[3]:-$HOST}"
VG_NAME="${XPATH_ELEMENTS[4]:-$VG_NAME}"
BASE_IQN="${XPATH_ELEMENTS[5]:-$BASE_IQN}"
SRC="${XPATH_ELEMENTS[6]}"
SIZE="${XPATH_ELEMENTS[7]}"
BASE_PATH="${XPATH_ELEMENTS[j++]}"
RESTRICTED_DIRS="${XPATH_ELEMENTS[j++]}"
SAFE_DIRS="${XPATH_ELEMENTS[j++]}"
DST_HOST="${XPATH_ELEMENTS[j++]}"
VG_NAME="${XPATH_ELEMENTS[j++]:-$VG_NAME}"
BASE_IQN="${XPATH_ELEMENTS[j++]:-$BASE_IQN}"
SRC="${XPATH_ELEMENTS[j++]}"
SIZE="${XPATH_ELEMENTS[j++]}"
if [ -z "$DST_HOST" ]; then
error_message "Datastore template missing 'HOST' attribute."
exit -1
fi
# Check if 'TGTSETUPLUN' is installed
tgt_setup_lun_install "$DST_HOST" "$BASE_PATH"

View File

@ -44,7 +44,7 @@ UTILS_PATH="${DRIVER_PATH}/.."
XPATH="$UTILS_PATH/xpath.rb -b $DRV_ACTION"
unset i XPATH_ELEMENTS
unset i j XPATH_ELEMENTS
while IFS= read -r -d '' element; do
XPATH_ELEMENTS[i++]="$element"
@ -61,18 +61,23 @@ done < <($XPATH /DS_DRIVER_ACTION_DATA/DATASTORE/BASE_PATH \
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/NO_DECOMPRESS \
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/LIMIT_TRANSFER_BW)
BASE_PATH="${XPATH_ELEMENTS[0]}"
RESTRICTED_DIRS="${XPATH_ELEMENTS[1]}"
SAFE_DIRS="${XPATH_ELEMENTS[2]}"
DST_HOST="${XPATH_ELEMENTS[3]:-$HOST}"
VG_NAME="${XPATH_ELEMENTS[4]:-$VG_NAME}"
BASE_IQN="${XPATH_ELEMENTS[5]:-$BASE_IQN}"
SRC="${XPATH_ELEMENTS[6]}"
SIZE="${XPATH_ELEMENTS[7]}"
MD5="${XPATH_ELEMENTS[8]}"
SHA1="${XPATH_ELEMENTS[9]}"
NO_DECOMPRESS="${XPATH_ELEMENTS[10]}"
LIMIT_TRANSFER_BW="${XPATH_ELEMENTS[11]}"
BASE_PATH="${XPATH_ELEMENTS[j++]}"
RESTRICTED_DIRS="${XPATH_ELEMENTS[j++]}"
SAFE_DIRS="${XPATH_ELEMENTS[j++]}"
DST_HOST="${XPATH_ELEMENTS[j++]}"
VG_NAME="${XPATH_ELEMENTS[j++]:-$VG_NAME}"
BASE_IQN="${XPATH_ELEMENTS[j++]:-$BASE_IQN}"
SRC="${XPATH_ELEMENTS[j++]}"
SIZE="${XPATH_ELEMENTS[j++]}"
MD5="${XPATH_ELEMENTS[j++]}"
SHA1="${XPATH_ELEMENTS[j++]}"
NO_DECOMPRESS="${XPATH_ELEMENTS[j++]}"
LIMIT_TRANSFER_BW="${XPATH_ELEMENTS[j++]}"
if [ -z "$DST_HOST" ]; then
error_message "Datastore template missing 'HOST' attribute."
exit -1
fi
# Check if 'TGTSETUPLUN' is installed
tgt_setup_lun_install "$DST_HOST" "$BASE_PATH"

View File

@ -14,9 +14,6 @@
# limitations under the License. #
#--------------------------------------------------------------------------- #
# Default iSCSI target host
HOST=localhost
# Default IQN path
BASE_IQN=iqn.2012-02.org.opennebula

View File

@ -42,7 +42,7 @@ ID=$2
XPATH="${DRIVER_PATH}/../xpath.rb -b $DRV_ACTION"
unset i XPATH_ELEMENTS
unset i j XPATH_ELEMENTS
while IFS= read -r -d '' element; do
XPATH_ELEMENTS[i++]="$element"
@ -55,14 +55,19 @@ done < <($XPATH /DS_DRIVER_ACTION_DATA/DATASTORE/BASE_PATH \
/DS_DRIVER_ACTION_DATA/IMAGE/FSTYPE \
/DS_DRIVER_ACTION_DATA/IMAGE/SIZE)
BASE_PATH="${XPATH_ELEMENTS[0]}"
RESTRICTED_DIRS="${XPATH_ELEMENTS[1]}"
SAFE_DIRS="${XPATH_ELEMENTS[2]}"
DST_HOST="${XPATH_ELEMENTS[3]:-$HOST}"
VG_NAME="${XPATH_ELEMENTS[4]:-$VG_NAME}"
BASE_IQN="${XPATH_ELEMENTS[5]:-$BASE_IQN}"
FSTYPE="${XPATH_ELEMENTS[6]}"
SIZE="${XPATH_ELEMENTS[7]:-0}"
BASE_PATH="${XPATH_ELEMENTS[j++]}"
RESTRICTED_DIRS="${XPATH_ELEMENTS[j++]}"
SAFE_DIRS="${XPATH_ELEMENTS[j++]}"
DST_HOST="${XPATH_ELEMENTS[j++]}"
VG_NAME="${XPATH_ELEMENTS[j++]:-$VG_NAME}"
BASE_IQN="${XPATH_ELEMENTS[j++]:-$BASE_IQN}"
FSTYPE="${XPATH_ELEMENTS[j++]}"
SIZE="${XPATH_ELEMENTS[j++]:-0}"
if [ -z "$DST_HOST" ]; then
error_message "Datastore template missing 'HOST' attribute."
exit -1
fi
# Check if 'TGTSETUPLUN' is installed
tgt_setup_lun_install "$DST_HOST" "$BASE_PATH"

View File

@ -41,15 +41,20 @@ ID=$2
XPATH="${DRIVER_PATH}/../xpath.rb -b $DRV_ACTION"
unset i XPATH_ELEMENTS
unset i j XPATH_ELEMENTS
while IFS= read -r -d '' element; do
XPATH_ELEMENTS[i++]="$element"
done < <($XPATH /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/HOST \
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/VG_NAME)
HOST="${XPATH_ELEMENTS[0]:-$HOST}"
VG_NAME="${XPATH_ELEMENTS[1]-$VG_NAME}"
HOST="${XPATH_ELEMENTS[j++]}"
VG_NAME="${XPATH_ELEMENTS[j++]:-$VG_NAME}"
if [ -z "$HOST" ]; then
error_message "Datastore template missing 'HOST' attribute."
exit -1
fi
# ------------ Compute datastore usage -------------

View File

@ -40,15 +40,20 @@ ID=$2
XPATH="${DRIVER_PATH}/../xpath.rb -b $DRV_ACTION"
unset i XPATH_ELEMENTS
unset i j XPATH_ELEMENTS
while IFS= read -r -d '' element; do
XPATH_ELEMENTS[i++]="$element"
done < <($XPATH /DS_DRIVER_ACTION_DATA/IMAGE/SOURCE \
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/HOST)
SRC="${XPATH_ELEMENTS[0]}"
DST_HOST="${XPATH_ELEMENTS[1]:-$HOST}"
SRC="${XPATH_ELEMENTS[j++]}"
DST_HOST="${XPATH_ELEMENTS[j++]}"
if [ -z "$DST_HOST" ]; then
error_message "Datastore template missing 'HOST' attribute."
exit -1
fi
BASE_IQN=`echo $SRC|$CUT -d: -f1`
TARGET=`echo $SRC|$CUT -d: -f2`

View File

@ -40,7 +40,7 @@ ID=$2
XPATH="${DRIVER_PATH}/../xpath.rb -b $DRV_ACTION"
unset i XPATH_ELEMENTS
unset i j XPATH_ELEMENTS
while IFS= read -r -d '' element; do
XPATH_ELEMENTS[i++]="$element"
@ -50,11 +50,16 @@ done < <($XPATH /DS_DRIVER_ACTION_DATA/DATASTORE/BASE_PATH \
/DS_DRIVER_ACTION_DATA/IMAGE/PATH \
/DS_DRIVER_ACTION_DATA/IMAGE/SIZE)
BASE_PATH="${XPATH_ELEMENTS[0]}"
DST_HOST="${XPATH_ELEMENTS[1]:-$HOST}"
VG_NAME="${XPATH_ELEMENTS[2]:-$VG_NAME}"
SRC="${XPATH_ELEMENTS[3]}"
SIZE="${XPATH_ELEMENTS[4]}"
BASE_PATH="${XPATH_ELEMENTS[j++]}"
DST_HOST="${XPATH_ELEMENTS[j++]}"
VG_NAME="${XPATH_ELEMENTS[j++]:-$VG_NAME}"
SRC="${XPATH_ELEMENTS[j++]}"
SIZE="${XPATH_ELEMENTS[j++]}"
if [ -z "$DST_HOST" ]; then
error_message "Datastore template missing 'HOST' attribute."
exit -1
fi
SAFE_DIRS=""

View File

@ -44,7 +44,7 @@ UTILS_PATH="${DRIVER_PATH}/.."
XPATH="$UTILS_PATH/xpath.rb -b $DRV_ACTION"
unset i XPATH_ELEMENTS
unset i j XPATH_ELEMENTS
while IFS= read -r -d '' element; do
XPATH_ELEMENTS[i++]="$element"
@ -60,17 +60,22 @@ done < <($XPATH /DS_DRIVER_ACTION_DATA/DATASTORE/BASE_PATH \
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/NO_DECOMPRESS \
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/LIMIT_TRANSFER_BW)
BASE_PATH="${XPATH_ELEMENTS[0]}"
RESTRICTED_DIRS="${XPATH_ELEMENTS[1]}"
SAFE_DIRS="${XPATH_ELEMENTS[2]}"
DST_HOST="${XPATH_ELEMENTS[3]:-$HOST}"
VG_NAME="${XPATH_ELEMENTS[4]:-$VG_NAME}"
SRC="${XPATH_ELEMENTS[5]}"
SIZE="${XPATH_ELEMENTS[6]}"
MD5="${XPATH_ELEMENTS[7]}"
SHA1="${XPATH_ELEMENTS[8]}"
NO_DECOMPRESS="${XPATH_ELEMENTS[9]}"
LIMIT_TRANSFER_BW="${XPATH_ELEMENTS[10]}"
BASE_PATH="${XPATH_ELEMENTS[j++]}"
RESTRICTED_DIRS="${XPATH_ELEMENTS[j++]}"
SAFE_DIRS="${XPATH_ELEMENTS[j++]}"
DST_HOST="${XPATH_ELEMENTS[j++]}"
VG_NAME="${XPATH_ELEMENTS[j++]:-$VG_NAME}"
SRC="${XPATH_ELEMENTS[j++]}"
SIZE="${XPATH_ELEMENTS[j++]}"
MD5="${XPATH_ELEMENTS[j++]}"
SHA1="${XPATH_ELEMENTS[j++]}"
NO_DECOMPRESS="${XPATH_ELEMENTS[j++]}"
LIMIT_TRANSFER_BW="${XPATH_ELEMENTS[j++]}"
if [ -z "$DST_HOST" ]; then
error_message "Datastore template missing 'HOST' attribute."
exit -1
fi
set_up_datastore "$BASE_PATH" "$RESTRICTED_DIRS" "$SAFE_DIRS"

View File

@ -17,8 +17,5 @@
# Default volume group
VG_NAME=vg-one
# Default LVM server host
HOST=localhost
# Default LV snapshot SIZE
DEFAULT_SIZE=512

View File

@ -42,7 +42,7 @@ ID=$2
XPATH="${DRIVER_PATH}/../xpath.rb -b $DRV_ACTION"
unset i XPATH_ELEMENTS
unset i j XPATH_ELEMENTS
while IFS= read -r -d '' element; do
XPATH_ELEMENTS[i++]="$element"
@ -54,13 +54,18 @@ done < <($XPATH /DS_DRIVER_ACTION_DATA/DATASTORE/BASE_PATH \
/DS_DRIVER_ACTION_DATA/IMAGE/FSTYPE \
/DS_DRIVER_ACTION_DATA/IMAGE/SIZE)
BASE_PATH="${XPATH_ELEMENTS[0]}"
RESTRICTED_DIRS="${XPATH_ELEMENTS[1]}"
SAFE_DIRS="${XPATH_ELEMENTS[2]}"
DST_HOST="${XPATH_ELEMENTS[3]:-$HOST}"
VG_NAME="${XPATH_ELEMENTS[4]:-$VG_NAME}"
FSTYPE="${XPATH_ELEMENTS[5]}"
SIZE="${XPATH_ELEMENTS[6]}"
BASE_PATH="${XPATH_ELEMENTS[j++]}"
RESTRICTED_DIRS="${XPATH_ELEMENTS[j++]}"
SAFE_DIRS="${XPATH_ELEMENTS[j++]}"
DST_HOST="${XPATH_ELEMENTS[j++]}"
VG_NAME="${XPATH_ELEMENTS[j++]:-$VG_NAME}"
FSTYPE="${XPATH_ELEMENTS[j++]}"
SIZE="${XPATH_ELEMENTS[j++]}"
if [ -z "$DST_HOST" ]; then
error_message "Datastore template missing 'HOST' attribute."
exit -1
fi
set_up_datastore "$BASE_PATH" "$RESTRICTED_DIRS" "$SAFE_DIRS"

View File

@ -41,16 +41,20 @@ ID=$2
XPATH="${DRIVER_PATH}/../xpath.rb -b $DRV_ACTION"
unset i XPATH_ELEMENTS
unset i j XPATH_ELEMENTS
while IFS= read -r -d '' element; do
XPATH_ELEMENTS[i++]="$element"
done < <($XPATH /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/HOST \
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/VG_NAME)
HOST="${XPATH_ELEMENTS[0]:-$HOST}"
VG_NAME="${XPATH_ELEMENTS[1]-$VG_NAME}"
HOST="${XPATH_ELEMENTS[j++]}"
VG_NAME="${XPATH_ELEMENTS[j++]:-$VG_NAME}"
if [ -z "$HOST" ]; then
error_message "Datastore template missing 'HOST' attribute."
exit -1
fi
# ------------ Compute datastore usage -------------
MONITOR_SCRIPT=$(cat <<EOF

View File

@ -40,25 +40,26 @@ ID=$2
XPATH="${DRIVER_PATH}/../xpath.rb -b $DRV_ACTION"
unset i XPATH_ELEMENTS
unset i j XPATH_ELEMENTS
while IFS= read -r -d '' element; do
XPATH_ELEMENTS[i++]="$element"
done < <($XPATH /DS_DRIVER_ACTION_DATA/IMAGE/SOURCE \
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/HOST \
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/BASE_TID)
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/HOST)
SRC="${XPATH_ELEMENTS[0]}"
DST_HOST="${XPATH_ELEMENTS[1]:-$HOST}"
BASE_TID="${XPATH_ELEMENTS[2]:-$BASE_TID}"
SRC="${XPATH_ELEMENTS[j++]}"
DST_HOST="${XPATH_ELEMENTS[j++]}"
if [ -z "$DST_HOST" ]; then
error_message "Datastore template missing 'HOST' attribute."
exit -1
fi
TARGET=`echo $SRC|$CUT -d: -f2`
LV_NAME=`echo $TARGET|$AWK -F. '{print $(NF)}'`
VG_NAME=`echo $TARGET|$AWK -F. '{print $(NF-1)}'`
DEV="/dev/$VG_NAME/$LV_NAME"
let TID=ID+BASE_TID
RM_COMMAND=$(cat <<EOF
$SUDO $LVREMOVE -f $VG_NAME/$LV_NAME
EOF

View File

@ -57,6 +57,11 @@ unset i
CEPH_HOST="${XPATH_ELEMENTS[i++]}"
if [ -z "$CEPH_HOST" ]; then
error_message "Datastore template missing 'HOST' attribute."
exit -1
fi
#-------------------------------------------------------------------------------
# Compute the destination image name
#-------------------------------------------------------------------------------

View File

@ -53,7 +53,7 @@ DISK_ID=$(echo $SRC|awk -F. '{print $NF}')
XPATH="${DRIVER_PATH}/../../datastore/xpath.rb --stdin"
unset i XPATH_ELEMENTS
unset i j XPATH_ELEMENTS
while IFS= read -r -d '' element; do
XPATH_ELEMENTS[i++]="$element"
@ -62,9 +62,9 @@ done < <(onevm show -x $VMID| $XPATH \
/VM/TEMPLATE/DISK[DISK_ID=$DISK_ID]/SAVE_AS \
/VM/TEMPLATE/DISK[DISK_ID=$DISK_ID]/PERSISTENT)
IQN="${XPATH_ELEMENTS[0]}"
SAVE_AS="${XPATH_ELEMENTS[1]}"
PERSISTENT="${XPATH_ELEMENTS[2]}"
IQN="${XPATH_ELEMENTS[j++]}"
SAVE_AS="${XPATH_ELEMENTS[j++]}"
PERSISTENT="${XPATH_ELEMENTS[j++]}"
if [ -z "$PERSISTENT" ]; then
IQN=$IQN-$VMID

View File

@ -54,7 +54,7 @@ DISK_ID=$(echo "$DST_PATH" | $AWK -F. '{print $NF}')
XPATH="${DRIVER_PATH}/../../datastore/xpath.rb --stdin"
unset i XPATH_ELEMENTS
unset i j XPATH_ELEMENTS
while IFS= read -r -d '' element; do
XPATH_ELEMENTS[i++]="$element"
@ -62,8 +62,8 @@ done < <(onevm show -x $VMID| $XPATH \
/VM/TEMPLATE/DISK[DISK_ID=$DISK_ID]/SOURCE \
/VM/TEMPLATE/DISK[DISK_ID=$DISK_ID]/PERSISTENT)
IQN="${XPATH_ELEMENTS[0]}"
PERSISTENT="${XPATH_ELEMENTS[1]}"
IQN="${XPATH_ELEMENTS[j++]}"
PERSISTENT="${XPATH_ELEMENTS[j++]}"
if [ -z "$PERSISTENT" ]; then
NEW_IQN=$IQN-$VMID

View File

@ -76,7 +76,7 @@ fi
XPATH="${DRIVER_PATH}/../../datastore/xpath.rb --stdin"
unset i XPATH_ELEMENTS
unset i j XPATH_ELEMENTS
DISK_ID=$(echo "$SRC_PATH" | $AWK -F. '{print $NF}')
@ -86,8 +86,8 @@ done < <(onevm show -x $VMID| $XPATH \
/VM/TEMPLATE/DISK[DISK_ID=$DISK_ID]/SOURCE \
/VM/TEMPLATE/DISK[DISK_ID=$DISK_ID]/PERSISTENT)
IQN="${XPATH_ELEMENTS[0]}"
PERSISTENT="${XPATH_ELEMENTS[1]}"
IQN="${XPATH_ELEMENTS[j++]}"
PERSISTENT="${XPATH_ELEMENTS[j++]}"
if [ -z "$PERSISTENT" ]; then
IQN=$IQN-$VMID

View File

@ -53,7 +53,7 @@ DISK_ID=$(echo $SRC|awk -F. '{print $NF}')
XPATH="${DRIVER_PATH}/../../datastore/xpath.rb --stdin"
unset i XPATH_ELEMENTS
unset i j XPATH_ELEMENTS
while IFS= read -r -d '' element; do
XPATH_ELEMENTS[i++]="$element"
@ -62,9 +62,9 @@ done < <(onevm show -x $VMID| $XPATH \
/VM/TEMPLATE/DISK[DISK_ID=$DISK_ID]/SAVE_AS \
/VM/TEMPLATE/DISK[DISK_ID=$DISK_ID]/PERSISTENT)
IQN="${XPATH_ELEMENTS[0]}"
SAVE_AS="${XPATH_ELEMENTS[1]}"
PERSISTENT="${XPATH_ELEMENTS[2]}"
IQN="${XPATH_ELEMENTS[j++]}"
SAVE_AS="${XPATH_ELEMENTS[j++]}"
PERSISTENT="${XPATH_ELEMENTS[j++]}"
if [ -z "$PERSISTENT" ]; then
IQN=$IQN-$VMID