From cf4db845ff7b46c7004f22e7d7d7d2f636935428 Mon Sep 17 00:00:00 2001 From: Sanjay Tripathi Date: Fri, 25 Apr 2014 16:36:40 +0530 Subject: [PATCH] CLOUDSTACK-6452: Failed to Live Migrate VM across clusters with Xenserver 6.2.5. --- .../xen/resource/XenServer610Resource.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServer610Resource.java b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServer610Resource.java index 3be8c3b69e9..0c3e1e9660a 100644 --- a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServer610Resource.java +++ b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServer610Resource.java @@ -60,6 +60,7 @@ import com.cloud.agent.api.to.VirtualMachineTO; import com.cloud.agent.api.to.VolumeTO; import com.cloud.network.Networks.TrafficType; import com.cloud.resource.ServerResource; +import com.cloud.storage.Volume; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.vm.VirtualMachine.State; @@ -110,13 +111,15 @@ public class XenServer610Resource extends XenServer602Resource { } for (DiskTO volumeTo : volumes) { - VolumeObjectTO vol = (VolumeObjectTO)volumeTo.getData(); - Long deviceId = volumeTo.getDiskSeq(); - VDI vdi = deviceIdToVdiMap.get(deviceId.toString()); - VolumeObjectTO newVol = new VolumeObjectTO(); - newVol.setPath(vdi.getUuid(connection)); - newVol.setId(vol.getId()); - volumeToList.add(newVol); + if (volumeTo.getType() != Volume.Type.ISO) { + VolumeObjectTO vol = (VolumeObjectTO)volumeTo.getData(); + Long deviceId = volumeTo.getDiskSeq(); + VDI vdi = deviceIdToVdiMap.get(deviceId.toString()); + VolumeObjectTO newVol = new VolumeObjectTO(); + newVol.setPath(vdi.getUuid(connection)); + newVol.setId(vol.getId()); + volumeToList.add(newVol); + } } } catch (Exception e) { s_logger.error("Unable to get the updated VDI paths of the migrated vm " + e.toString(), e);