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

Feature #3782: add support for snapshots of persistent images in ceph

This commit is contained in:
Jaime Melis 2015-05-29 14:02:51 +02:00
parent f3c70ff374
commit 4929b50b2b
4 changed files with 26 additions and 5 deletions

View File

@ -76,11 +76,14 @@ else
RBD_DST="${RBD_SRC}-${VM_ID}-${DISK_ID}"
fi
if [ -n "$SNAP_ID" ]; then
RBD_DST="${RBD_DST}-${SNAP_ID}@${SNAP_ID}"
fi
if [ -n "$CEPH_USER" ]; then
RBD="$RBD --id ${CEPH_USER}"
fi
ssh_exec_and_log "$SRC_HOST" "$RBD copy $RBD_DST $DST" \
"Error cloning $RBD_DST to $DST in $SRC_HOST"

View File

@ -55,12 +55,18 @@ while IFS= read -r -d '' element; do
XPATH_ELEMENTS[i++]="$element"
done < <(onevm show -x $VM_ID| $XPATH \
/VM/TEMPLATE/DISK[DISK_ID=$DISK_ID]/SOURCE \
/VM/TEMPLATE/DISK[DISK_ID=$DISK_ID]/CLONE \
/VM/TEMPLATE/DISK[DISK_ID=$DISK_ID]/CEPH_USER)
RBD_SRC="${XPATH_ELEMENTS[j++]}"
CLONE="${XPATH_ELEMENTS[j++]}"
CEPH_USER="${XPATH_ELEMENTS[j++]}"
RBD_DST="${RBD_SRC}-${VM_ID}-${DISK_ID}"
if [ "$CLONE" = "NO" ]; then
RBD_DST="${RBD_SRC}"
else
RBD_DST="${RBD_SRC}-${VM_ID}-${DISK_ID}"
fi
#-------------------------------------------------------------------------------
# Create snapshots

View File

@ -55,15 +55,21 @@ while IFS= read -r -d '' element; do
XPATH_ELEMENTS[i++]="$element"
done < <(onevm show -x $VM_ID| $XPATH \
/VM/TEMPLATE/DISK[DISK_ID=$DISK_ID]/SOURCE \
/VM/TEMPLATE/DISK[DISK_ID=$DISK_ID]/CLONE \
/VM/TEMPLATE/DISK[DISK_ID=$DISK_ID]/CEPH_USER)
RBD_SRC="${XPATH_ELEMENTS[j++]}"
CLONE="${XPATH_ELEMENTS[j++]}"
CEPH_USER="${XPATH_ELEMENTS[j++]}"
RBD_DST="${RBD_SRC}-${VM_ID}-${DISK_ID}"
if [ "$CLONE" = "NO" ]; then
RBD_DST="${RBD_SRC}"
else
RBD_DST="${RBD_SRC}-${VM_ID}-${DISK_ID}"
fi
#-------------------------------------------------------------------------------
# Create snapshots
# Delete snapshots
#-------------------------------------------------------------------------------
if [ -n "$CEPH_USER" ]; then

View File

@ -55,12 +55,18 @@ while IFS= read -r -d '' element; do
XPATH_ELEMENTS[i++]="$element"
done < <(onevm show -x $VM_ID| $XPATH \
/VM/TEMPLATE/DISK[DISK_ID=$DISK_ID]/SOURCE \
/VM/TEMPLATE/DISK[DISK_ID=$DISK_ID]/CLONE \
/VM/TEMPLATE/DISK[DISK_ID=$DISK_ID]/CEPH_USER)
RBD_SRC="${XPATH_ELEMENTS[j++]}"
CLONE="${XPATH_ELEMENTS[j++]}"
CEPH_USER="${XPATH_ELEMENTS[j++]}"
RBD_DST="${RBD_SRC}-${VM_ID}-${DISK_ID}"
if [ "$CLONE" = "NO" ]; then
RBD_DST="${RBD_SRC}"
else
RBD_DST="${RBD_SRC}-${VM_ID}-${DISK_ID}"
fi
#-------------------------------------------------------------------------------
# Create snapshots