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 C98AF10003 for ; Wed, 2 Apr 2014 22:47:35 +0000 (UTC) Received: (qmail 3855 invoked by uid 500); 2 Apr 2014 22:47:31 -0000 Delivered-To: apmail-cloudstack-commits-archive@cloudstack.apache.org Received: (qmail 3717 invoked by uid 500); 2 Apr 2014 22:47:29 -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 3566 invoked by uid 99); 2 Apr 2014 22:47:27 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Apr 2014 22:47:27 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 797B9926AD3; Wed, 2 Apr 2014 22:47:27 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: kelveny@apache.org To: commits@cloudstack.apache.org Date: Wed, 02 Apr 2014 22:47:27 -0000 Message-Id: <727ef4d8500a4e9eb46c9b3b18f574dd@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [1/3] git commit: updated refs/heads/master to cd8801f Repository: cloudstack Updated Branches: refs/heads/master e9c81c78b -> cd8801f6f Don't let VMsync touch the VM if VM has been scheduled for HA but HA is not yet running. Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/66bece59 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/66bece59 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/66bece59 Branch: refs/heads/master Commit: 66bece5906c34002b42a26523614fe5e31b84fd2 Parents: e9c81c7 Author: Kelven Yang Authored: Fri Mar 21 10:58:14 2014 -0700 Committer: Kelven Yang Committed: Wed Apr 2 14:58:35 2014 -0700 ---------------------------------------------------------------------- .../com/cloud/ha/HighAvailabilityManagerImpl.java | 2 +- .../src/com/cloud/ha/dao/HighAvailabilityDao.java | 2 ++ .../com/cloud/ha/dao/HighAvailabilityDaoImpl.java | 17 +++++++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/66bece59/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java b/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java index 406b9b2..1318d9b 100755 --- a/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java +++ b/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java @@ -967,7 +967,7 @@ public class HighAvailabilityManagerImpl extends ManagerBase implements HighAvai @Override public boolean hasPendingHaWork(long vmId) { - List haWorks = _haDao.listRunningHaWorkForVm(vmId); + List haWorks = _haDao.listPendingHaWorkForVm(vmId); return haWorks.size() > 0; } } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/66bece59/server/src/com/cloud/ha/dao/HighAvailabilityDao.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/ha/dao/HighAvailabilityDao.java b/server/src/com/cloud/ha/dao/HighAvailabilityDao.java index 7f532f2..85135bb 100644 --- a/server/src/com/cloud/ha/dao/HighAvailabilityDao.java +++ b/server/src/com/cloud/ha/dao/HighAvailabilityDao.java @@ -81,4 +81,6 @@ public interface HighAvailabilityDao extends GenericDao { * @return List of work items */ List listRunningHaWorkForVm(long vmId); + + List listPendingHaWorkForVm(long vmId); } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/66bece59/server/src/com/cloud/ha/dao/HighAvailabilityDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/ha/dao/HighAvailabilityDaoImpl.java b/server/src/com/cloud/ha/dao/HighAvailabilityDaoImpl.java index c0da883..d25c6a7 100644 --- a/server/src/com/cloud/ha/dao/HighAvailabilityDaoImpl.java +++ b/server/src/com/cloud/ha/dao/HighAvailabilityDaoImpl.java @@ -49,6 +49,7 @@ public class HighAvailabilityDaoImpl extends GenericDaoBase impl private final SearchBuilder ReleaseSearch; private final SearchBuilder FutureHaWorkSearch; private final SearchBuilder RunningHaWorkSearch; + private final SearchBuilder PendingHaWorkSearch; protected HighAvailabilityDaoImpl() { super(); @@ -106,6 +107,22 @@ public class HighAvailabilityDaoImpl extends GenericDaoBase impl RunningHaWorkSearch.and("taken", RunningHaWorkSearch.entity().getDateTaken(), Op.NNULL); RunningHaWorkSearch.and("step", RunningHaWorkSearch.entity().getStep(), Op.NIN); RunningHaWorkSearch.done(); + + PendingHaWorkSearch = createSearchBuilder(); + PendingHaWorkSearch.and("instance", PendingHaWorkSearch.entity().getInstanceId(), Op.EQ); + PendingHaWorkSearch.and("type", PendingHaWorkSearch.entity().getType(), Op.EQ); + PendingHaWorkSearch.and("step", PendingHaWorkSearch.entity().getStep(), Op.NIN); + PendingHaWorkSearch.done(); + } + + @Override + public List listPendingHaWorkForVm(long vmId) { + SearchCriteria sc = PendingHaWorkSearch.create(); + sc.setParameters("instance", vmId); + sc.setParameters("type", WorkType.HA); + sc.setParameters("step", Step.Done, Step.Error, Step.Cancelled); + + return search(sc, null); } @Override