diff --git a/src/datastore_mad/remotes/ceph/clone b/src/datastore_mad/remotes/ceph/clone index 1fc1b318306..9402cdc878a 100755 --- a/src/datastore_mad/remotes/ceph/clone +++ b/src/datastore_mad/remotes/ceph/clone @@ -48,7 +48,8 @@ done < <($XPATH /DS_DRIVER_ACTION_DATA/DATASTORE/BASE_PATH \ /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/BRIDGE_LIST \ /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/POOL_NAME \ /DS_DRIVER_ACTION_DATA/IMAGE/PATH \ - /DS_DRIVER_ACTION_DATA/IMAGE/SIZE) + /DS_DRIVER_ACTION_DATA/IMAGE/SIZE \ + /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/CEPH_USER) unset i @@ -57,6 +58,7 @@ BRIDGE_LIST="${XPATH_ELEMENTS[i++]}" POOL_NAME="${XPATH_ELEMENTS[i++]:-$POOL_NAME}" SRC="${XPATH_ELEMENTS[i++]}" SIZE="${XPATH_ELEMENTS[i++]}" +CEPH_USER="${XPATH_ELEMENTS[i++]}" DST_HOST=`get_destination_host $ID` @@ -65,6 +67,10 @@ if [ -z "$DST_HOST" ]; then exit -1 fi +if [ -n "$CEPH_USER" ]; then + RBD="$RBD --id ${CEPH_USER}" +fi + SAFE_DIRS="" IMAGE_NAME="one-${ID}" @@ -73,4 +79,5 @@ RBD_DST="${POOL_NAME}/${IMAGE_NAME}" ssh_exec_and_log "$DST_HOST" "$RBD copy $SRC $RBD_DST" \ "Error cloning $SRC to $RBD_DST in $DST_HOST" + echo "$RBD_DST" diff --git a/src/datastore_mad/remotes/ceph/cp b/src/datastore_mad/remotes/ceph/cp index a7c8865c1fa..3603a9ebca1 100755 --- a/src/datastore_mad/remotes/ceph/cp +++ b/src/datastore_mad/remotes/ceph/cp @@ -60,7 +60,8 @@ done < <($XPATH /DS_DRIVER_ACTION_DATA/DATASTORE/BASE_PATH \ /DS_DRIVER_ACTION_DATA/IMAGE/TEMPLATE/MD5 \ /DS_DRIVER_ACTION_DATA/IMAGE/TEMPLATE/SHA1 \ /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/NO_DECOMPRESS \ - /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/LIMIT_TRANSFER_BW) + /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/LIMIT_TRANSFER_BW \ + /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/CEPH_USER) unset i @@ -77,6 +78,7 @@ MD5="${XPATH_ELEMENTS[i++]}" SHA1="${XPATH_ELEMENTS[i++]}" NO_DECOMPRESS="${XPATH_ELEMENTS[i++]}" LIMIT_TRANSFER_BW="${XPATH_ELEMENTS[i++]}" +CEPH_USER="${XPATH_ELEMENTS[i++]}" DST_HOST=`get_destination_host $ID` @@ -85,6 +87,10 @@ if [ -z "$DST_HOST" ]; then exit -1 fi +if [ -n "$CEPH_USER" ]; then + RBD="$RBD --id ${CEPH_USER}" +fi + set_up_datastore "$BASE_PATH" "$RESTRICTED_DIRS" "$SAFE_DIRS" IMAGE_HASH=`generate_image_hash` diff --git a/src/datastore_mad/remotes/ceph/mkfs b/src/datastore_mad/remotes/ceph/mkfs index 17b5f570407..3977c93b047 100755 --- a/src/datastore_mad/remotes/ceph/mkfs +++ b/src/datastore_mad/remotes/ceph/mkfs @@ -54,7 +54,8 @@ done < <($XPATH /DS_DRIVER_ACTION_DATA/DATASTORE/BASE_PATH \ /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/STAGING_DIR \ /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/RBD_FORMAT \ /DS_DRIVER_ACTION_DATA/IMAGE/FSTYPE \ - /DS_DRIVER_ACTION_DATA/IMAGE/SIZE) + /DS_DRIVER_ACTION_DATA/IMAGE/SIZE \ + /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/CEPH_USER) unset i @@ -67,6 +68,7 @@ STAGING_DIR="${XPATH_ELEMENTS[i++]:-$STAGING_DIR}" RBD_FORMAT="${XPATH_ELEMENTS[i++]:-$RBD_FORMAT}" FSTYPE="${XPATH_ELEMENTS[i++]}" SIZE="${XPATH_ELEMENTS[i++]}" +CEPH_USER="${XPATH_ELEMENTS[i++]}" DST_HOST=`get_destination_host $ID` @@ -75,6 +77,10 @@ if [ -z "$DST_HOST" ]; then exit -1 fi +if [ -n "$CEPH_USER" ]; then + RBD="$RBD --id ${CEPH_USER}" +fi + set_up_datastore "$BASE_PATH" "$RESTRICTED_DIRS" "$SAFE_DIRS" IMAGE_HASH=`generate_image_hash` diff --git a/src/datastore_mad/remotes/ceph/monitor b/src/datastore_mad/remotes/ceph/monitor index 0b55946061c..4682ebe4f4e 100755 --- a/src/datastore_mad/remotes/ceph/monitor +++ b/src/datastore_mad/remotes/ceph/monitor @@ -46,10 +46,12 @@ unset i j XPATH_ELEMENTS 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/POOL_NAME \ + /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/CEPH_USER) BRIDGE_LIST="${XPATH_ELEMENTS[j++]}" POOL_NAME="${XPATH_ELEMENTS[j++]:-$POOL_NAME}" +CEPH_USER="${XPATH_ELEMENTS[j++]}" HOST=`get_destination_host` @@ -58,10 +60,14 @@ if [ -z "$HOST" ]; then exit -1 fi +if [ -n "$CEPH_USER" ]; then + RADOS="$RADOS --id ${CEPH_USER}" +fi + # ------------ Compute datastore usage ------------- MONITOR_SCRIPT=$(cat </one---" RBD_SRC="${SRC}-${VM_ID}-${DISK_ID}" RBD_SNAP="${VM_ID}-${DISK_ID}" @@ -93,7 +99,7 @@ log "Deleting $DST_PATH" DELETE_CMD=$(cat </one---" RBD_DST="${RBD_SRC}-${VM_ID}-${DISK_ID}" RBD_SNAP="${VM_ID}-${DISK_ID}" @@ -82,7 +88,7 @@ log "Dumping $RBD_DST to $DST" DUMP_CMD=$(cat <