CLOUDSTACK-803: HA gets triggered even when the host investigator is unable to determine the state of the host HA won't be triggered in case the host investigator is not able to determine the state
Signed-off-by: Koushik Das <[email protected]> Signed-off-by: Abhinandan Prateek <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/e45a9f3a Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/e45a9f3a Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/e45a9f3a Branch: refs/heads/javelin Commit: e45a9f3aed3f3ad2295848f2475a4a1ec478ee81 Parents: 070856a Author: Koushik Das <[email protected]> Authored: Mon Jan 7 11:06:54 2013 +0530 Committer: Abhinandan Prateek <[email protected]> Committed: Fri Jan 18 17:20:51 2013 +0530 ---------------------------------------------------------------------- .../com/cloud/agent/manager/AgentManagerImpl.java | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e45a9f3a/server/src/com/cloud/agent/manager/AgentManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/agent/manager/AgentManagerImpl.java b/server/src/com/cloud/agent/manager/AgentManagerImpl.java index 8b3ee6b..fd5b3bd 100755 --- a/server/src/com/cloud/agent/manager/AgentManagerImpl.java +++ b/server/src/com/cloud/agent/manager/AgentManagerImpl.java @@ -918,10 +918,16 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, Manager { s_logger.info("Investigating why host " + hostId + " has disconnected with event " + event); final Status determinedState = investigate(attache); + // if state cannot be determined do nothing and bail out + if (determinedState == null) { + s_logger.warn("Agent state cannot be determined, do nothing"); + return false; + } + final Status currentStatus = host.getStatus(); s_logger.info("The state determined is " + determinedState); - if (determinedState == null || determinedState == Status.Down) { + if (determinedState == Status.Down) { s_logger.error("Host is down: " + host.getId() + "-" + host.getName() + ". Starting HA on the VMs"); event = Status.Event.HostDown; } else if (determinedState == Status.Up) {
