From 5d661c1e9d78f3757246498165a1207fc652231d Mon Sep 17 00:00:00 2001 From: frank Date: Thu, 8 Dec 2011 16:17:51 -0800 Subject: [PATCH] Fix searchcritera2 in agent monitor get ha code back in agent manager --- server/src/com/cloud/agent/manager/AgentManagerImpl.java | 9 ++++----- server/src/com/cloud/agent/manager/AgentMonitor.java | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/server/src/com/cloud/agent/manager/AgentManagerImpl.java b/server/src/com/cloud/agent/manager/AgentManagerImpl.java index 8cbbedd6ef6..7f8157f6d35 100755 --- a/server/src/com/cloud/agent/manager/AgentManagerImpl.java +++ b/server/src/com/cloud/agent/manager/AgentManagerImpl.java @@ -925,12 +925,11 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, Manager { } handleDisconnectWithoutInvestigation(attache, event); - /*TODO: call HA manager in monitors - * host = _hostDao.findById(host.getId()); - if (!event.equals(Event.PrepareUnmanaged) && !event.equals(Event.HypervisorVersionChanged) && (host.getStatus() == Status.Alert || host.getStatus() == Status.Down)) { - _haMgr.scheduleRestartForVmsOnHost(host, investigate); + host = _hostDao.findById(host.getId()); + if (host.getStatus() == Status.Alert || host.getStatus() == Status.Down) { + _haMgr.scheduleRestartForVmsOnHost(host, true); } - * */ + return true; } diff --git a/server/src/com/cloud/agent/manager/AgentMonitor.java b/server/src/com/cloud/agent/manager/AgentMonitor.java index 1733de37bb8..aa724210719 100755 --- a/server/src/com/cloud/agent/manager/AgentMonitor.java +++ b/server/src/com/cloud/agent/manager/AgentMonitor.java @@ -144,7 +144,7 @@ public class AgentMonitor extends Thread implements Listener { SearchCriteriaService sc = SearchCriteria2.create(HostVO.class); sc.selectField(sc.getEntity().getResourceState()); sc.addAnd(sc.getEntity().getId(), Op.EQ, agentId); - HostVO h = sc.find(); + HostVO h = sc.list().get(0); ResourceState resourceState = h.getResourceState(); if (resourceState == ResourceState.Disabled || resourceState == ResourceState.Maintenance || resourceState == ResourceState.Unmanaged || resourceState == ResourceState.ErrorInMaintenance) { /* Host is in non-operation state, so no investigation and direct put agent to Disconnected */