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/10 00:39:10 UTC

[1/2] git commit: updated refs/heads/master to 4a9da03

Updated Branches:
  refs/heads/master 1db19c3d5 -> 4a9da0376


CLOUDSTACK-5426: Cannot deploy instance having multiple volumes that use different storage tags for storage pools in same cluster

Changes:
- We need to reset the avoid set to its original state while calling the storage pool allocators for each volume.
- This will prevent affecting allocation of the disks due to the avoid set output of the prior disk allocations.

Conflicts:

	server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java


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

Branch: refs/heads/master
Commit: 5618a44ed0089e43ec24847b0b7db5c7e754fdb7
Parents: 1db19c3
Author: Prachi Damle <pr...@cloud.com>
Authored: Mon Dec 9 14:53:48 2013 -0800
Committer: Prachi Damle <pr...@cloud.com>
Committed: Mon Dec 9 15:37:13 2013 -0800

----------------------------------------------------------------------
 .../deploy/DeploymentPlanningManagerImpl.java   | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5618a44e/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java b/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java
index 8b7ed87..a0890c2 100644
--- a/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java
+++ b/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java
@@ -1119,6 +1119,12 @@ public class DeploymentPlanningManagerImpl extends ManagerBase implements Deploy
 
         // for each volume find list of suitable storage pools by calling the
         // allocators
+        Set<Long> originalAvoidPoolSet = avoid.getPoolsToAvoid();
+        if (originalAvoidPoolSet == null) {
+            originalAvoidPoolSet = new HashSet<Long>();
+        }
+        Set<Long> poolsToAvoidOutput = new HashSet<Long>(originalAvoidPoolSet);
+
         for (VolumeVO toBeCreated : volumesTobeCreated) {
             s_logger.debug("Checking suitable pools for volume (Id, Type): (" + toBeCreated.getId() + "," + toBeCreated.getVolumeType().name() + ")");
 
@@ -1228,6 +1234,11 @@ public class DeploymentPlanningManagerImpl extends ManagerBase implements Deploy
                 }
             }
 
+            if (avoid.getPoolsToAvoid() != null) {
+                poolsToAvoidOutput.addAll(avoid.getPoolsToAvoid());
+                avoid.getPoolsToAvoid().retainAll(originalAvoidPoolSet);
+            }
+
             if (!foundPotentialPools) {
                 s_logger.debug("No suitable pools found for volume: " + toBeCreated + " under cluster: " + plan.getClusterId());
                 // No suitable storage pools found under this cluster for this
@@ -1239,6 +1250,13 @@ public class DeploymentPlanningManagerImpl extends ManagerBase implements Deploy
             }
         }
 
+        if (suitableVolumeStoragePools.values() != null) {
+            poolsToAvoidOutput.removeAll(suitableVolumeStoragePools.values());
+        }
+        if (avoid.getPoolsToAvoid() != null) {
+            avoid.getPoolsToAvoid().addAll(poolsToAvoidOutput);
+        }
+
         if (suitableVolumeStoragePools.isEmpty()) {
             s_logger.debug("No suitable pools found");
         }
@@ -1346,4 +1364,4 @@ public class DeploymentPlanningManagerImpl extends ManagerBase implements Deploy
         }
         return true;
     }
-}
+}
\ No newline at end of file


[2/2] git commit: updated refs/heads/master to 4a9da03

Posted by pr...@apache.org.
CLOUDSTACK-5426 Cannot deploy instance having multiple volumes that use different storage tags for storage pools in same cluster

Fixing the Imports missing


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

Branch: refs/heads/master
Commit: 4a9da0376046bb5eb5dcf67c3e2c4cb7501dc5f8
Parents: 5618a44
Author: Prachi Damle <pr...@cloud.com>
Authored: Mon Dec 9 15:36:41 2013 -0800
Committer: Prachi Damle <pr...@cloud.com>
Committed: Mon Dec 9 15:37:15 2013 -0800

----------------------------------------------------------------------
 server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4a9da037/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java b/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java
index a0890c2..69230e0 100644
--- a/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java
+++ b/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java
@@ -19,8 +19,10 @@ package com.cloud.deploy;
 import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.Timer;
 import java.util.TreeSet;