Return-Path: X-Original-To: apmail-cloudstack-commits-archive@www.apache.org Delivered-To: apmail-cloudstack-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9D716F139 for ; Thu, 11 Apr 2013 22:13:14 +0000 (UTC) Received: (qmail 94727 invoked by uid 500); 11 Apr 2013 22:13:10 -0000 Delivered-To: apmail-cloudstack-commits-archive@cloudstack.apache.org Received: (qmail 94655 invoked by uid 500); 11 Apr 2013 22:13:10 -0000 Mailing-List: contact commits-help@cloudstack.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cloudstack.apache.org Delivered-To: mailing list commits@cloudstack.apache.org Received: (qmail 94525 invoked by uid 99); 11 Apr 2013 22:13:10 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 Apr 2013 22:13:10 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 60DF3880E98; Thu, 11 Apr 2013 22:13:10 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: bfederle@apache.org To: commits@cloudstack.apache.org Date: Thu, 11 Apr 2013 22:13:25 -0000 Message-Id: <8639784c6e164632952c5b9ae769c91d@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [17/48] git commit: updated refs/heads/ui-vm-affinity to 96999be Separated out host anti-affinity as a plugin. Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/bf9221a3 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/bf9221a3 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/bf9221a3 Branch: refs/heads/ui-vm-affinity Commit: bf9221a370da0c0720f1411f50738ab7d6d98ab5 Parents: fe2a868 Author: Prachi Damle Authored: Thu Mar 14 17:20:42 2013 -0700 Committer: Prachi Damle Committed: Thu Apr 11 13:22:45 2013 -0700 ---------------------------------------------------------------------- .../host-anti-affinity/pom.xml | 33 +++++++ .../affinity/HostAntiAffinityProcessor.java | 66 +++++++++++++++ plugins/pom.xml | 1 + .../affinity/HostAntiAffinityProcessor.java | 66 --------------- 4 files changed, 100 insertions(+), 66 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bf9221a3/plugins/affinity-group-processors/host-anti-affinity/pom.xml ---------------------------------------------------------------------- diff --git a/plugins/affinity-group-processors/host-anti-affinity/pom.xml b/plugins/affinity-group-processors/host-anti-affinity/pom.xml new file mode 100644 index 0000000..669febd --- /dev/null +++ b/plugins/affinity-group-processors/host-anti-affinity/pom.xml @@ -0,0 +1,33 @@ + + + 4.0.0 + cloud-plugin-host-anti-affinity + Apache CloudStack Plugin - Host Anti-Affinity Processor + + org.apache.cloudstack + cloudstack-plugins + 4.2.0-SNAPSHOT + ../../pom.xml + + + install + src + + http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bf9221a3/plugins/affinity-group-processors/host-anti-affinity/src/org/apache/cloudstack/affinity/HostAntiAffinityProcessor.java ---------------------------------------------------------------------- diff --git a/plugins/affinity-group-processors/host-anti-affinity/src/org/apache/cloudstack/affinity/HostAntiAffinityProcessor.java b/plugins/affinity-group-processors/host-anti-affinity/src/org/apache/cloudstack/affinity/HostAntiAffinityProcessor.java new file mode 100644 index 0000000..93bd358 --- /dev/null +++ b/plugins/affinity-group-processors/host-anti-affinity/src/org/apache/cloudstack/affinity/HostAntiAffinityProcessor.java @@ -0,0 +1,66 @@ +package org.apache.cloudstack.affinity; + +import java.util.List; + +import javax.ejb.Local; +import javax.inject.Inject; + +import org.apache.cloudstack.affinity.dao.AffinityGroupDao; +import org.apache.cloudstack.affinity.dao.AffinityGroupVMMapDao; +import org.apache.log4j.Logger; + +import com.cloud.deploy.DeploymentPlan; +import com.cloud.deploy.DeploymentPlanner.ExcludeList; +import com.cloud.exception.AffinityConflictException; +import com.cloud.utils.component.AdapterBase; +import com.cloud.vm.VMInstanceVO; +import com.cloud.vm.VirtualMachine; +import com.cloud.vm.VirtualMachineProfile; +import com.cloud.vm.dao.UserVmDao; +import com.cloud.vm.dao.VMInstanceDao; + +@Local(value = AffinityGroupProcessor.class) +public class HostAntiAffinityProcessor extends AdapterBase implements AffinityGroupProcessor { + + private static final Logger s_logger = Logger.getLogger(HostAntiAffinityProcessor.class); + @Inject + protected UserVmDao _vmDao; + @Inject + protected VMInstanceDao _vmInstanceDao; + @Inject + protected AffinityGroupDao _affinityGroupDao; + @Inject + protected AffinityGroupVMMapDao _affinityGroupVMMapDao; + + @Override + public void process(VirtualMachineProfile vmProfile, DeploymentPlan plan, + ExcludeList avoid) + throws AffinityConflictException { + VirtualMachine vm = vmProfile.getVirtualMachine(); + AffinityGroupVMMapVO vmGroupMapping = _affinityGroupVMMapDao.findByVmIdType(vm.getId(), getType()); + + if (vmGroupMapping != null) { + AffinityGroupVO group = _affinityGroupDao.findById(vmGroupMapping.getAffinityGroupId()); + + if (s_logger.isDebugEnabled()) { + s_logger.debug("Processing affinity group " + group.getName() + " for VM Id: " + vm.getId()); + } + + List groupVMIds = _affinityGroupVMMapDao.listVmIdsByAffinityGroup(group.getId()); + + for (Long groupVMId : groupVMIds) { + VMInstanceVO groupVM = _vmInstanceDao.findById(groupVMId); + if (groupVM != null && !groupVM.isRemoved() && groupVM.getHostId() != null) { + avoid.addHost(groupVM.getHostId()); + } + } + } + + } + + @Override + public String getType() { + return "HostAntiAffinity"; + } + +} http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bf9221a3/plugins/pom.xml ---------------------------------------------------------------------- diff --git a/plugins/pom.xml b/plugins/pom.xml index 607c50c..12c85ff 100755 --- a/plugins/pom.xml +++ b/plugins/pom.xml @@ -36,6 +36,7 @@ api/rate-limit api/discovery acl/static-role-based + affinity-group-processors/host-anti-affinity deployment-planners/user-concentrated-pod deployment-planners/user-dispersing host-allocators/random http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bf9221a3/server/src/org/apache/cloudstack/affinity/HostAntiAffinityProcessor.java ---------------------------------------------------------------------- diff --git a/server/src/org/apache/cloudstack/affinity/HostAntiAffinityProcessor.java b/server/src/org/apache/cloudstack/affinity/HostAntiAffinityProcessor.java deleted file mode 100644 index 93bd358..0000000 --- a/server/src/org/apache/cloudstack/affinity/HostAntiAffinityProcessor.java +++ /dev/null @@ -1,66 +0,0 @@ -package org.apache.cloudstack.affinity; - -import java.util.List; - -import javax.ejb.Local; -import javax.inject.Inject; - -import org.apache.cloudstack.affinity.dao.AffinityGroupDao; -import org.apache.cloudstack.affinity.dao.AffinityGroupVMMapDao; -import org.apache.log4j.Logger; - -import com.cloud.deploy.DeploymentPlan; -import com.cloud.deploy.DeploymentPlanner.ExcludeList; -import com.cloud.exception.AffinityConflictException; -import com.cloud.utils.component.AdapterBase; -import com.cloud.vm.VMInstanceVO; -import com.cloud.vm.VirtualMachine; -import com.cloud.vm.VirtualMachineProfile; -import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.VMInstanceDao; - -@Local(value = AffinityGroupProcessor.class) -public class HostAntiAffinityProcessor extends AdapterBase implements AffinityGroupProcessor { - - private static final Logger s_logger = Logger.getLogger(HostAntiAffinityProcessor.class); - @Inject - protected UserVmDao _vmDao; - @Inject - protected VMInstanceDao _vmInstanceDao; - @Inject - protected AffinityGroupDao _affinityGroupDao; - @Inject - protected AffinityGroupVMMapDao _affinityGroupVMMapDao; - - @Override - public void process(VirtualMachineProfile vmProfile, DeploymentPlan plan, - ExcludeList avoid) - throws AffinityConflictException { - VirtualMachine vm = vmProfile.getVirtualMachine(); - AffinityGroupVMMapVO vmGroupMapping = _affinityGroupVMMapDao.findByVmIdType(vm.getId(), getType()); - - if (vmGroupMapping != null) { - AffinityGroupVO group = _affinityGroupDao.findById(vmGroupMapping.getAffinityGroupId()); - - if (s_logger.isDebugEnabled()) { - s_logger.debug("Processing affinity group " + group.getName() + " for VM Id: " + vm.getId()); - } - - List groupVMIds = _affinityGroupVMMapDao.listVmIdsByAffinityGroup(group.getId()); - - for (Long groupVMId : groupVMIds) { - VMInstanceVO groupVM = _vmInstanceDao.findById(groupVMId); - if (groupVM != null && !groupVM.isRemoved() && groupVM.getHostId() != null) { - avoid.addHost(groupVM.getHostId()); - } - } - } - - } - - @Override - public String getType() { - return "HostAntiAffinity"; - } - -}