From 968c1d11eaa5ecbfcd6cca45e481c7edaef9b366 Mon Sep 17 00:00:00 2001 From: Kelven Yang Date: Thu, 8 Sep 2011 17:39:59 -0700 Subject: [PATCH] bug 11386: check host status before responding StartupCommand --- .../vmware/resource/VmwareResource.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/core/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java b/core/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java index 3df94664503..e2413e53ad6 100755 --- a/core/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java +++ b/core/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java @@ -2960,7 +2960,22 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa } @Override - public StartupCommand[] initialize() { + public StartupCommand[] initialize() { + VmwareContext context = getServiceContext(); + try { + VmwareHypervisorHost hyperHost = getHyperHost(context); + assert(hyperHost instanceof HostMO); + if(!((HostMO)hyperHost).isHyperHostConnected()) { + s_logger.info("Host " + hyperHost.getHyperHostName() + " is not in connected state"); + return null; + } + } catch (Exception e) { + String msg = "VmwareResource intialize() failed due to : " + VmwareHelper.getExceptionMessage(e); + s_logger.error(msg); + invalidateServiceContext(); + return null; + } + StartupRoutingCommand cmd = new StartupRoutingCommand(); fillHostInfo(cmd);