From 50b4073f512fe19f89dc49f087929f420d0b5b23 Mon Sep 17 00:00:00 2001 From: Pearl Dsilva Date: Tue, 15 Mar 2022 17:32:49 +0530 Subject: [PATCH 1/2] Fix migration of VM with volume on Ubuntu --- .../motion/KvmNonManagedStorageDataMotionStrategy.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/KvmNonManagedStorageDataMotionStrategy.java b/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/KvmNonManagedStorageDataMotionStrategy.java index 3046cd4da934..0744108d6741 100644 --- a/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/KvmNonManagedStorageDataMotionStrategy.java +++ b/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/KvmNonManagedStorageDataMotionStrategy.java @@ -82,10 +82,13 @@ public class KvmNonManagedStorageDataMotionStrategy extends StorageSystemDataMot */ @Override protected StrategyPriority internalCanHandle(Map volumeMap, Host srcHost, Host destHost) { - if (super.internalCanHandle(volumeMap, srcHost, destHost) != StrategyPriority.CANT_HANDLE - || canHandleKVMNonManagedLiveNFSStorageMigration(volumeMap, srcHost, destHost) != StrategyPriority.CANT_HANDLE) { + if (super.internalCanHandle(volumeMap, srcHost, destHost) != StrategyPriority.CANT_HANDLE) { return StrategyPriority.CANT_HANDLE; } + if (super.internalCanHandle(volumeMap, srcHost, destHost) == StrategyPriority.CANT_HANDLE && + canHandleKVMNonManagedLiveNFSStorageMigration(volumeMap, srcHost, destHost) != StrategyPriority.CANT_HANDLE) { + return StrategyPriority.HYPERVISOR; + } Set volumeInfoSet = volumeMap.keySet(); for (VolumeInfo volumeInfo : volumeInfoSet) { From a92bb3128becf2c366b46b51be2f67ea0ee1d94d Mon Sep 17 00:00:00 2001 From: Pearl Dsilva Date: Wed, 16 Mar 2022 11:49:33 +0530 Subject: [PATCH 2/2] address comment --- .../storage/motion/KvmNonManagedStorageDataMotionStrategy.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/KvmNonManagedStorageDataMotionStrategy.java b/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/KvmNonManagedStorageDataMotionStrategy.java index 0744108d6741..c96ced961fcd 100644 --- a/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/KvmNonManagedStorageDataMotionStrategy.java +++ b/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/KvmNonManagedStorageDataMotionStrategy.java @@ -85,8 +85,7 @@ protected StrategyPriority internalCanHandle(Map volumeMa if (super.internalCanHandle(volumeMap, srcHost, destHost) != StrategyPriority.CANT_HANDLE) { return StrategyPriority.CANT_HANDLE; } - if (super.internalCanHandle(volumeMap, srcHost, destHost) == StrategyPriority.CANT_HANDLE && - canHandleKVMNonManagedLiveNFSStorageMigration(volumeMap, srcHost, destHost) != StrategyPriority.CANT_HANDLE) { + if (canHandleKVMNonManagedLiveNFSStorageMigration(volumeMap, srcHost, destHost) != StrategyPriority.CANT_HANDLE) { return StrategyPriority.HYPERVISOR; }