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 */