From bd335d01cb6c1bbedac3d8e49fa108ea83ca4459 Mon Sep 17 00:00:00 2001 From: edison Date: Thu, 6 Feb 2014 14:19:29 -0800 Subject: [PATCH] fix devcloud reboot issue: should not start heartbeat for devcloud --- .../xen/resource/CitrixResourceBase.java | 19 ++++++++++++++----- .../xen/resource/XcpOssResource.java | 5 +++++ 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java index bf9b06862c2..48ccf7060af 100644 --- a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java +++ b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java @@ -5019,6 +5019,16 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe } } + protected boolean launchHeartBeat(Connection conn) { + String result = callHostPluginPremium(conn, "heartbeat", "host", _host.uuid, "interval", Integer + .toString(_heartbeatInterval)); + if (result == null || !result.contains("> DONE <")) { + s_logger.warn("Unable to launch the heartbeat process on " + _host.ip); + return false; + } + return true; + } + protected SetupAnswer execute(SetupCommand cmd) { Connection conn = getConnection(); setupServer(conn); @@ -5032,12 +5042,11 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe _canBridgeFirewall = can_bridge_firewall(conn); } - String result = callHostPluginPremium(conn, "heartbeat", "host", _host.uuid, "interval", Integer - .toString(_heartbeatInterval)); - if (result == null || !result.contains("> DONE <")) { - s_logger.warn("Unable to launch the heartbeat process on " + _host.ip); + boolean r = launchHeartBeat(conn); + if (!r) { return null; } + cleanupTemplateSR(conn); Host host = Host.getByUuid(conn, _host.uuid); try { @@ -5051,7 +5060,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe s_logger.debug("multipath is already set"); } if (cmd.needSetup() ) { - result = callHostPlugin(conn, "vmops", "setup_iscsi", "uuid", _host.uuid); + String result = callHostPlugin(conn, "vmops", "setup_iscsi", "uuid", _host.uuid); if (!result.contains("> DONE <")) { s_logger.warn("Unable to setup iscsi: " + result); return new SetupAnswer(cmd, result); diff --git a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XcpOssResource.java b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XcpOssResource.java index 5260c55bcc2..919d08304f9 100644 --- a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XcpOssResource.java +++ b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XcpOssResource.java @@ -74,6 +74,11 @@ public class XcpOssResource extends CitrixResourceBase { cmd.setCaps(cmd.getCapabilities() + " , hvm"); } + @Override + protected boolean launchHeartBeat(Connection conn) { + return true; + } + protected StartupStorageCommand initializeLocalSR(Connection conn) { SR extsr = getLocalEXTSR(conn); if (extsr != null) {