mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-21 14:50:08 +03:00
Bug #3332: Attach non-persistent disks does not work for ceph
This commit is contained in:
parent
88235fe9d7
commit
dd3c9ad8d2
@ -29,6 +29,8 @@ TARGET="$3"
|
||||
TARGET_INDEX="$4"
|
||||
DRV_ACTION="$5"
|
||||
|
||||
ATTACH_FILE="$SOURCE.attach"
|
||||
|
||||
XPATH="${DRIVER_PATH}/../../datastore/xpath.rb -b $DRV_ACTION"
|
||||
|
||||
unset i j XPATH_ELEMENTS
|
||||
@ -37,20 +39,26 @@ DISK_XPATH="/VMM_DRIVER_ACTION_DATA/VM/TEMPLATE/DISK[ATTACH='YES']"
|
||||
|
||||
while IFS= read -r -d '' element; do
|
||||
XPATH_ELEMENTS[i++]="$element"
|
||||
done < <($XPATH $DISK_XPATH/DRIVER \
|
||||
done < <($XPATH /VMM_DRIVER_ACTION_DATA/VM/ID \
|
||||
$DISK_XPATH/DRIVER \
|
||||
$DISK_XPATH/TYPE \
|
||||
$DISK_XPATH/READONLY \
|
||||
$DISK_XPATH/CACHE \
|
||||
$DISK_XPATH/SOURCE \
|
||||
$DISK_XPATH/DISK_ID \
|
||||
$DISK_XPATH/CLONE \
|
||||
$DISK_XPATH/CEPH_HOST \
|
||||
$DISK_XPATH/CEPH_SECRET \
|
||||
$DISK_XPATH/CEPH_USER)
|
||||
|
||||
VMID="${XPATH_ELEMENTS[j++]}"
|
||||
DRIVER="${XPATH_ELEMENTS[j++]:-$DEFAULT_TYPE}"
|
||||
TYPE="${XPATH_ELEMENTS[j++]}"
|
||||
READONLY="${XPATH_ELEMENTS[j++]}"
|
||||
CACHE="${XPATH_ELEMENTS[j++]}"
|
||||
IMG_SRC="${XPATH_ELEMENTS[j++]}"
|
||||
DISK_ID="${XPATH_ELEMENTS[j++]}"
|
||||
CLONE="${XPATH_ELEMENTS[j++]}"
|
||||
CEPH_HOST="${XPATH_ELEMENTS[j++]}"
|
||||
CEPH_SECRET="${XPATH_ELEMENTS[j++]}"
|
||||
CEPH_USER="${XPATH_ELEMENTS[j++]}"
|
||||
@ -72,9 +80,14 @@ rbd)
|
||||
TYPE_SOURCE="protocol"
|
||||
TYPE_XML="network"
|
||||
SOURCE="rbd"
|
||||
SOURCE_ARGS="name='$IMG_SRC'"
|
||||
DEVICE="disk"
|
||||
|
||||
if [ "$CLONE" = "YES" ]; then
|
||||
SOURCE_ARGS="name='${IMG_SRC}-${VMID}-${DISK_ID}'"
|
||||
else
|
||||
SOURCE_ARGS="name='${IMG_SRC}'"
|
||||
fi
|
||||
|
||||
for host in $CEPH_HOST ; do
|
||||
BCK_IFS=$IFS
|
||||
IFS=':'
|
||||
@ -120,8 +133,6 @@ else
|
||||
READONLY=""
|
||||
fi
|
||||
|
||||
ATTACH_FILE="$SOURCE.attach"
|
||||
|
||||
cat <<EOF > $ATTACH_FILE
|
||||
<disk type='$TYPE_XML' device='$DEVICE'>
|
||||
<driver name='qemu' type='$DRIVER' $CACHE/>
|
||||
|
Loading…
x
Reference in New Issue
Block a user