From d7862626be058118209e723858cf697f57fe1a25 Mon Sep 17 00:00:00 2001 From: vanquyen020920 Date: Tue, 2 Jun 2026 21:20:33 +0700 Subject: [PATCH] Allow KVM live volume migration flow --- .../main/java/com/cloud/storage/VolumeApiServiceImpl.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java index 6872d2070d6..e76f1ec3f3b 100644 --- a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java +++ b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java @@ -3531,9 +3531,8 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic StoragePoolVO destinationStoragePoolVo = _storagePoolDao.findById(storagePoolId); if (isSourceOrDestNotOnStorPool(srcStoragePoolVO, destinationStoragePoolVo)) { - throw new InvalidParameterValueException("KVM does not support volume live migration due to the limited possibility to refresh VM XML domain. " + - "Therefore, to live migrate a volume between storage pools, one must migrate the VM to a different host as well to force the VM XML domain update. " + - "Use 'migrateVirtualMachineWithVolumes' instead."); + logger.debug("Allowing KVM live volume migration between different storage pools. VM [{}], volume [{}], source pool [{}], destination pool [{}].", + vm, vol, srcStoragePoolVO, destinationStoragePoolVo); } srcAndDestOnStorPool = isSourceAndDestOnStorPool(srcStoragePoolVO, destinationStoragePoolVo); }