From 578d2f62f1e6c28fa83e31d22b649fee02ffb119 Mon Sep 17 00:00:00 2001 From: Edison Su Date: Thu, 27 Mar 2014 16:14:33 -0700 Subject: [PATCH] fix devcloud reboot issue: should not start heartbeat for devcloud Conflicts: plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java --- .../xen/resource/CitrixResourceBase.java | 22 ++++++++++++++----- .../xen/resource/XcpOssResource.java | 5 +++++ 2 files changed, 22 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 372d337b6b3..bc25a94509b 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 @@ -4700,6 +4700,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); @@ -4720,9 +4730,9 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe } - 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); @@ -4737,8 +4747,10 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe } catch (Types.MapDuplicateKey e) { s_logger.debug("multipath is already set"); } - if (cmd.needSetup()) { - result = callHostPlugin(conn, "vmops", "setup_iscsi", "uuid", _host.uuid); + + if (cmd.needSetup() ) { + 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 e84a5832c6b..5d051136acc 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 @@ -79,6 +79,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) {