You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by pr...@apache.org on 2013/12/06 22:20:19 UTC

[3/4] git commit: updated refs/heads/4.3 to d3520a5

CLOUDSTACK-5401: VM migration during host maintenance fails if pool.storage.capacity.disablethreshold is lowered

Changes:
- During Vm migration while finding a new host within the cluster, we need to set the storagepool Id to the deployment plan too.
- This will indicate the planner that the volumes are ready and no need to find new pool
- This in turn will prevent the threshold check done during the pool allocation. This step is not needed since there is no need to allocate pools newly.
- Thus the migration wont fail because th threshold check fails.


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/13d2caa6
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/13d2caa6
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/13d2caa6

Branch: refs/heads/4.3
Commit: 13d2caa6b5645e35e63a43bcd8062fb3aa57f46d
Parents: 3a6adb3
Author: Prachi Damle <pr...@cloud.com>
Authored: Fri Dec 6 11:12:38 2013 -0800
Committer: Prachi Damle <pr...@cloud.com>
Committed: Fri Dec 6 13:18:40 2013 -0800

----------------------------------------------------------------------
 .../src/com/cloud/vm/VirtualMachineManagerImpl.java       | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/13d2caa6/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
----------------------------------------------------------------------
diff --git a/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
index f2a2102..164457a 100755
--- a/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
+++ b/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
@@ -2047,8 +2047,16 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
         }
 
         Host host = _hostDao.findById(hostId);
+        Long poolId = null;
+        List<VolumeVO> vols = _volsDao.findReadyRootVolumesByInstance(vm.getId());
+        for (VolumeVO rootVolumeOfVm : vols) {
+            StoragePoolVO rootDiskPool = _storagePoolDao.findById(rootVolumeOfVm.getPoolId());
+            if (rootDiskPool != null) {
+                poolId = rootDiskPool.getId();
+            }
+        }
 
-        DataCenterDeployment plan = new DataCenterDeployment(host.getDataCenterId(), host.getPodId(), host.getClusterId(), null, null, null);
+        DataCenterDeployment plan = new DataCenterDeployment(host.getDataCenterId(), host.getPodId(), host.getClusterId(), null, poolId, null);
         ExcludeList excludes = new ExcludeList();
         excludes.addHost(hostId);