mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-21 14:50:08 +03:00
feature-2262: Make lvm drivers use incremental xpath
This commit is contained in:
parent
e3594fc11b
commit
b9dc86c9bd
@ -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,11 @@ 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++]:-$HOST}"
|
||||
VG_NAME="${XPATH_ELEMENTS[j++]:-$VG_NAME}"
|
||||
SRC="${XPATH_ELEMENTS[j++]}"
|
||||
SIZE="${XPATH_ELEMENTS[j++]}"
|
||||
|
||||
SAFE_DIRS=""
|
||||
|
||||
|
@ -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,17 @@ 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++]:-$HOST}"
|
||||
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++]}"
|
||||
|
||||
set_up_datastore "$BASE_PATH" "$RESTRICTED_DIRS" "$SAFE_DIRS"
|
||||
|
||||
|
@ -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,13 @@ 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++]:-$HOST}"
|
||||
VG_NAME="${XPATH_ELEMENTS[j++]:-$VG_NAME}"
|
||||
FSTYPE="${XPATH_ELEMENTS[j++]}"
|
||||
SIZE="${XPATH_ELEMENTS[j++]}"
|
||||
|
||||
set_up_datastore "$BASE_PATH" "$RESTRICTED_DIRS" "$SAFE_DIRS"
|
||||
|
||||
|
@ -41,15 +41,15 @@ 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++]:-$HOST}"
|
||||
VG_NAME="${XPATH_ELEMENTS[j++]:-$VG_NAME}"
|
||||
|
||||
# ------------ Compute datastore usage -------------
|
||||
|
||||
|
@ -40,25 +40,21 @@ 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++]:-$HOST}"
|
||||
|
||||
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
|
||||
|
Loading…
x
Reference in New Issue
Block a user