diff --git a/agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java b/agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java index 7938b70502c..c7dff6ccf91 100644 --- a/agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java +++ b/agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java @@ -1674,6 +1674,15 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv } } } + + /*setup disks, e.g for iso*/ + VolumeTO[] volumes = vm.getDisks(); + for (VolumeTO volume : volumes) { + if (volume.getType() == Volume.VolumeType.ISO) { + getVolumePath(conn, volume); + } + } + synchronized (_vms) { _vms.put(vm.getName(), State.Migrating); } @@ -1683,6 +1692,8 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv return new PrepareForMigrationAnswer(cmd, e.toString()); } catch (InternalErrorException e) { return new PrepareForMigrationAnswer(cmd, e.toString()); + } catch (URISyntaxException e) { + return new PrepareForMigrationAnswer(cmd, e.toString()); } } diff --git a/server/src/com/cloud/storage/StorageManagerImpl.java b/server/src/com/cloud/storage/StorageManagerImpl.java index b1a99a957cb..a2bc3e07647 100755 --- a/server/src/com/cloud/storage/StorageManagerImpl.java +++ b/server/src/com/cloud/storage/StorageManagerImpl.java @@ -2356,6 +2356,19 @@ public class StorageManagerImpl implements StorageManager, StorageService, Manag StoragePool pool = _storagePoolDao.findById(vol.getPoolId()); vm.addDisk(new VolumeTO(vol, pool)); } + + if (vm.getType() == VirtualMachine.Type.User) { + UserVmVO userVM = (UserVmVO)vm.getVirtualMachine(); + if (userVM.getIsoId() != null) { + Pair isoPathPair = getAbsoluteIsoPath(userVM.getIsoId(), userVM.getDataCenterId()); + if (isoPathPair != null) { + String isoPath = isoPathPair.first(); + VolumeTO iso = new VolumeTO(vm.getId(), Volume.VolumeType.ISO, StorageResourceType.STORAGE_POOL, StoragePoolType.ISO, null, null, null, isoPath, + 0, null, null); + vm.addDisk(iso); + } + } + } } @Override