Add the cpds-clone patch
parent
cdf8406dbc
commit
1f66096a25
|
@ -0,0 +1,18 @@
|
||||||
|
--- /var/lib/one/remotes/tm/ceph/cpds 2018-11-21 22:48:44.497052898 +0300
|
||||||
|
+++ /var/lib/one/remotes/tm/ceph/cpds 2018-11-21 23:17:49.293548923 +0300
|
||||||
|
@@ -161,11 +161,13 @@ else
|
||||||
|
fi
|
||||||
|
|
||||||
|
RBD_DST=\$RBD_DST@$SNAP_ID
|
||||||
|
+
|
||||||
|
+ $RBD clone \$RBD_DST $DST
|
||||||
|
else
|
||||||
|
RBD_DST=$RBD_DST
|
||||||
|
- fi
|
||||||
|
|
||||||
|
- $RBD ${EC_POOL_OPT} copy \$RBD_DST $DST
|
||||||
|
+ $RBD $EC_POOL_OPT copy \$RBD_DST $DST
|
||||||
|
+ fi
|
||||||
|
EOF
|
||||||
|
)
|
||||||
|
fi
|
|
@ -0,0 +1,82 @@
|
||||||
|
index 25c88f8bf..82d0ee0a3 100755
|
||||||
|
--- a/remotes/tm/ceph/snap_revert
|
||||||
|
+++ b/remotes/tm/ceph/snap_revert
|
||||||
|
@@ -80,6 +80,19 @@ else
|
||||||
|
RBD_DST="${RBD_SRC}-${VM_ID}-${DISK_ID}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
+#-------------------------------------------------------------------------------
|
||||||
|
+# Get Datastore information
|
||||||
|
+#-------------------------------------------------------------------------------
|
||||||
|
+
|
||||||
|
+unset i j XPATH_ELEMENTS
|
||||||
|
+
|
||||||
|
+while IFS= read -r -d '' element; do
|
||||||
|
+ XPATH_ELEMENTS[i++]="$element"
|
||||||
|
+done < <(onedatastore show -x $DS_ID | $XPATH \
|
||||||
|
+ /DATASTORE/TEMPLATE/EC_POOL_NAME)
|
||||||
|
+
|
||||||
|
+EC_POOL_NAME="${XPATH_ELEMENTS[j++]}"
|
||||||
|
+
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
# Revert to Snapshot. Using the following tree structure
|
||||||
|
#
|
||||||
|
@@ -115,6 +128,10 @@ if [ -n "$CEPH_CONF" ]; then
|
||||||
|
RBD="$RBD --conf ${CEPH_CONF}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
+if [ -n "$EC_POOL_NAME" ]; then
|
||||||
|
+ EC_POOL_OPT="--data-pool ${EC_POOL_NAME}"
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
if [ "${TYPE}" != 'RBD' ]; then
|
||||||
|
error_message "$script_name: Operation not supported on disk type ${TYPE}"
|
||||||
|
exit 1
|
||||||
|
@@ -134,7 +151,7 @@ SNAP_REVERT_CMD=$(cat <<EOF
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
- $RBD clone \${RBD_TGT}@$SNAP_ID $RBD_DST
|
||||||
|
+ $RBD ${EC_POOL_OPT} clone \${RBD_TGT}@$SNAP_ID $RBD_DST
|
||||||
|
EOF
|
||||||
|
)
|
||||||
|
|
||||||
|
index ffedded53..9b132f153 100755
|
||||||
|
--- a/remotes/datastore/ceph/snap_revert
|
||||||
|
+++ b/remotes/datastore/ceph/snap_revert
|
||||||
|
@@ -49,6 +49,7 @@ while IFS= read -r -d '' element; do
|
||||||
|
XPATH_ELEMENTS[i++]="$element"
|
||||||
|
done < <($XPATH /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/BRIDGE_LIST \
|
||||||
|
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/POOL_NAME \
|
||||||
|
+ /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/EC_POOL_NAME \
|
||||||
|
/DS_DRIVER_ACTION_DATA/IMAGE/SOURCE \
|
||||||
|
/DS_DRIVER_ACTION_DATA/IMAGE/TARGET_SNAPSHOT \
|
||||||
|
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/CEPH_USER \
|
||||||
|
@@ -59,6 +60,7 @@ unset i
|
||||||
|
|
||||||
|
BRIDGE_LIST="${XPATH_ELEMENTS[i++]}"
|
||||||
|
POOL_NAME="${XPATH_ELEMENTS[i++]:-$POOL_NAME}"
|
||||||
|
+EC_POOL_NAME="${XPATH_ELEMENTS[i++]}"
|
||||||
|
RBD_SRC="${XPATH_ELEMENTS[i++]}"
|
||||||
|
SNAP_ID="${XPATH_ELEMENTS[i++]}"
|
||||||
|
CEPH_USER="${XPATH_ELEMENTS[i++]}"
|
||||||
|
@@ -84,6 +86,10 @@ if [ -n "$CEPH_CONF" ]; then
|
||||||
|
RBD="$RBD --conf ${CEPH_CONF}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
+if [ -n "$EC_POOL_NAME" ]; then
|
||||||
|
+ EC_POOL_OPT="--data-pool ${EC_POOL_NAME}"
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
SNAP_REVERT_CMD=$(cat <<EOF
|
||||||
|
RBD="${RBD}"
|
||||||
|
|
||||||
|
@@ -98,7 +104,7 @@ SNAP_REVERT_CMD=$(cat <<EOF
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
- $RBD clone \${RBD_TGT}@$SNAP_ID $RBD_SRC
|
||||||
|
+ $RBD ${EC_POOL_OPT} clone \${RBD_TGT}@$SNAP_ID $RBD_SRC
|
||||||
|
EOF
|
||||||
|
)
|
||||||
|
|
|
@ -212,3 +212,13 @@ if [ "\$host_mem" != "16777216" ]; then
|
||||||
rm tmp$$
|
rm tmp$$
|
||||||
fi
|
fi
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
# Apply the patch
|
||||||
|
scp opennebula-ceph-cpds-clone.diff root@$play_host:~/
|
||||||
|
ssh root@$play_host <<EOF
|
||||||
|
set -e -x
|
||||||
|
if ! grep -q clone /var/lib/one/remotes/tm/ceph/cpds; then
|
||||||
|
cd /
|
||||||
|
patch -p0 < /root/opennebula-ceph-cpds-clone.diff
|
||||||
|
fi
|
||||||
|
EOF
|
||||||
|
|
Loading…
Reference in New Issue