CLOUDSTACK-7047: DeploymentPlanner should include disabled resources only when 
the VM owner is Admin account

Changes:
-DeploymentPlanner should include disabled resources only when the VM owner is 
Admin account. The disabled resources should be ignored when VM is owned by any 
other user.


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

Branch: refs/heads/4.4-forward
Commit: 40e28de7275804f4483868ba8a737878ff54fba8
Parents: f37b152
Author: Prachi Damle <[email protected]>
Authored: Wed Jul 2 18:02:40 2014 -0700
Committer: Prachi Damle <[email protected]>
Committed: Wed Jul 2 18:02:40 2014 -0700

----------------------------------------------------------------------
 .../com/cloud/deploy/DeploymentPlanningManagerImpl.java | 10 +++++-----
 server/src/com/cloud/deploy/FirstFitPlanner.java        | 12 ++++++------
 2 files changed, 11 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/40e28de7/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 aa3e6e1..0e02d1b 100644
--- a/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java
+++ b/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java
@@ -1244,7 +1244,7 @@ public class DeploymentPlanningManagerImpl extends 
ManagerBase implements Deploy
             if (s_logger.isDebugEnabled()) {
                 s_logger.debug("We need to allocate new storagepool for this 
volume");
             }
-            if (!isRootAdmin(plan.getReservationContext())) {
+            if (!isRootAdmin(vmProfile)) {
                 if (!isEnabledForAllocation(plan.getDataCenterId(), 
plan.getPodId(), plan.getClusterId())) {
                     if (s_logger.isDebugEnabled()) {
                         s_logger.debug("Cannot allocate new storagepool for 
this volume in this cluster, allocation state is disabled");
@@ -1371,10 +1371,10 @@ public class DeploymentPlanningManagerImpl extends 
ManagerBase implements Deploy
         return true;
     }
 
-    private boolean isRootAdmin(ReservationContext reservationContext) {
-        if (reservationContext != null) {
-            if (reservationContext.getAccount() != null) {
-                return 
_accountMgr.isRootAdmin(reservationContext.getAccount().getId());
+    private boolean isRootAdmin(VirtualMachineProfile vmProfile) {
+        if (vmProfile != null) {
+            if (vmProfile.getOwner() != null) {
+                return _accountMgr.isRootAdmin(vmProfile.getOwner().getId());
             } else {
                 return false;
             }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/40e28de7/server/src/com/cloud/deploy/FirstFitPlanner.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/deploy/FirstFitPlanner.java 
b/server/src/com/cloud/deploy/FirstFitPlanner.java
index 1c3a9f1..c29101d 100755
--- a/server/src/com/cloud/deploy/FirstFitPlanner.java
+++ b/server/src/com/cloud/deploy/FirstFitPlanner.java
@@ -190,7 +190,7 @@ public class FirstFitPlanner extends PlannerBase implements 
DeploymentClusterPla
                 }
                 podsWithCapacity.removeAll(avoid.getPodsToAvoid());
             }
-            if (!isRootAdmin(plan.getReservationContext())) {
+            if (!isRootAdmin(vmProfile)) {
                 List<Long> disabledPods = 
listDisabledPods(plan.getDataCenterId());
                 if (!disabledPods.isEmpty()) {
                     if (s_logger.isDebugEnabled()) {
@@ -321,7 +321,7 @@ public class FirstFitPlanner extends PlannerBase implements 
DeploymentClusterPla
                 prioritizedClusterIds.removeAll(avoid.getClustersToAvoid());
             }
 
-            if (!isRootAdmin(plan.getReservationContext())) {
+            if (!isRootAdmin(vmProfile)) {
                 List<Long> disabledClusters = new ArrayList<Long>();
                 if (isZone) {
                     disabledClusters = 
listDisabledClusters(plan.getDataCenterId(), null);
@@ -464,10 +464,10 @@ public class FirstFitPlanner extends PlannerBase 
implements DeploymentClusterPla
 
     }
 
-    private boolean isRootAdmin(ReservationContext reservationContext) {
-        if(reservationContext != null){
-            if(reservationContext.getAccount() != null){
-                return 
_accountMgr.isRootAdmin(reservationContext.getAccount().getId());
+    private boolean isRootAdmin(VirtualMachineProfile vmProfile) {
+        if (vmProfile != null) {
+            if (vmProfile.getOwner() != null) {
+                return _accountMgr.isRootAdmin(vmProfile.getOwner().getId());
             }else{
                 return false;
             }

Reply via email to