cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From devd...@apache.org
Subject git commit: updated refs/heads/master-6-17-stable to fc357e9
Date Thu, 27 Jun 2013 20:07:50 GMT
Updated Branches:
  refs/heads/master-6-17-stable 0035bbba3 -> fc357e983


CLOUDSTACK-3064: Able to create an instance from different account of the same domain without
using affinity group even if the zone is dedicated to an account. The check to make sure that
explicit resources are not picked up for non-explicit deployment was present only at the domain
level for zones. Added a check at account level too.


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

Branch: refs/heads/master-6-17-stable
Commit: fc357e9831c9dd3b2929489ee859bf96fc95b939
Parents: 0035bbb
Author: Saksham Srivastava <saksham.srivastava@citrix.com>
Authored: Fri Jun 28 00:16:02 2013 +0530
Committer: Devdeep Singh <devdeep@gmail.com>
Committed: Fri Jun 28 00:47:01 2013 +0530

----------------------------------------------------------------------
 .../cloud/deploy/DeploymentPlanningManagerImpl.java    | 13 +++++++++++++
 1 file changed, 13 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fc357e98/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 eb895e5..e0f017d 100644
--- a/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java
+++ b/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java
@@ -452,9 +452,22 @@ public class DeploymentPlanningManagerImpl extends ManagerBase implements
Deploy
             DedicatedResourceVO dedicatedZone = _dedicatedDao.findByZoneId(dc.getId());
             if (dedicatedZone != null) {
                 long accountDomainId = vmProfile.getOwner().getDomainId();
+                long accountId = vmProfile.getOwner().getAccountId();
                 if (dedicatedZone.getDomainId() != null && !dedicatedZone.getDomainId().equals(accountDomainId))
{
                     throw new CloudRuntimeException("Failed to deploy VM. Zone " + dc.getName()
+ " is dedicated.");
                 }
+
+                // If a zone is dedicated to an account then all hosts in this zone will
be explicitly dedicated to
+                // that account. So there won't be any shared hosts in the zone, the only
way to deploy vms from that
+                // account will be to use explicit dedication affinity group.
+                if (dedicatedZone.getAccountId() != null) {
+                    if (dedicatedZone.getAccountId().equals(accountId)) {
+                        throw new CloudRuntimeException("Failed to deploy VM. There are no
shared hosts available in" +
+                                " this dedicated zone.");
+                    } else {
+                        throw new CloudRuntimeException("Failed to deploy VM. Zone " + dc.getName()
+ " is dedicated.");
+                    }
+                }
             }
 
             List<HostPodVO> podsInDc = _podDao.listByDataCenterId(dc.getId());


Mime
View raw message