From 473db733b5f84eaacc02a13a0f45c96939794e81 Mon Sep 17 00:00:00 2001 From: Jaime Melis Date: Thu, 8 Sep 2016 17:07:26 +0200 Subject: [PATCH] B #4764: Hotplug of ceph volatile disks doesn't work --- src/vmm_mad/remotes/kvm/attach_disk | 35 +++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/src/vmm_mad/remotes/kvm/attach_disk b/src/vmm_mad/remotes/kvm/attach_disk index 21f750c9b6..17efdb1373 100755 --- a/src/vmm_mad/remotes/kvm/attach_disk +++ b/src/vmm_mad/remotes/kvm/attach_disk @@ -54,7 +54,9 @@ done < <($XPATH /VMM_DRIVER_ACTION_DATA/VM/ID \ $DISK_XPATH/ISCSI_HOST \ $DISK_XPATH/ISCSI_USAGE \ $DISK_XPATH/ISCSI_USER \ - $DISK_XPATH/ISCSI_IQN) + $DISK_XPATH/ISCSI_IQN \ + $DISK_XPATH/DISK_TYPE \ + $DISK_XPATH/POOL_NAME) VMID="${XPATH_ELEMENTS[j++]}" DRIVER="${XPATH_ELEMENTS[j++]:-$DEFAULT_TYPE}" @@ -72,6 +74,8 @@ ISCSI_HOST="${XPATH_ELEMENTS[j++]}" ISCSI_USAGE="${XPATH_ELEMENTS[j++]}" ISCSI_USER="${XPATH_ELEMENTS[j++]}" ISCSI_IQN="${XPATH_ELEMENTS[j++]}" +DISK_TYPE="${XPATH_ELEMENTS[j++]}" +POOL_NAME="${XPATH_ELEMENTS[j++]}" TYPE=$(echo "$TYPE"|tr A-Z a-z) @@ -133,9 +137,32 @@ rbd*) ;; *) #NOTE: This includes TYPE=FS and TYPE=SWAP - TYPE_SOURCE="file" - TYPE_XML="file" - DEVICE="disk" + case "$DISK_TYPE" in + RBD) + TYPE_SOURCE="protocol" + TYPE_XML="network" + SOURCE="rbd" + DEVICE="disk" + + RBD_SOURCE="${POOL_NAME}/one-sys-${VMID}-${DISK_ID}" + + SOURCE_ARGS="name='${RBD_SOURCE}'" + + SOURCE_HOST=$(get_source_xml $CEPH_HOST) + + if [ -n "$CEPH_USER" -a -n "$CEPH_SECRET" ]; then + AUTH="\ + \ + " + fi + ;; + *) + TYPE_SOURCE="file" + TYPE_XML="file" + DEVICE="disk" + ;; + esac + ;; esac