Pragrammatically Answer HA question posted in vCenter since it will block CloudStack from continuously operating on the VM
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/4a414d39 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/4a414d39 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/4a414d39 Branch: refs/heads/master Commit: 4a414d399004aa9f848ccdd428f64496a0176596 Parents: 85adaf8 Author: Kelven Yang <[email protected]> Authored: Tue Jan 28 17:16:04 2014 -0800 Committer: Kelven Yang <[email protected]> Committed: Fri Feb 28 15:35:58 2014 -0800 ---------------------------------------------------------------------- .../hypervisor/vmware/mo/VirtualMachineMO.java | 23 ++++++++------------ 1 file changed, 9 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4a414d39/vmware-base/src/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java ---------------------------------------------------------------------- diff --git a/vmware-base/src/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java b/vmware-base/src/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java index 3e83bb6..663adbf 100644 --- a/vmware-base/src/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java +++ b/vmware-base/src/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java @@ -190,10 +190,10 @@ public class VirtualMachineMO extends BaseMO { } public boolean powerOn() throws Exception { - if(getResetSafePowerState() == VirtualMachinePowerState.POWERED_ON) - return true; + if (getResetSafePowerState() == VirtualMachinePowerState.POWERED_ON) + return true; - ManagedObjectReference morTask = _context.getService().powerOnVMTask(_mor, null); + ManagedObjectReference morTask = _context.getService().powerOnVMTask(_mor, null); // Monitor VM questions final Boolean[] flags = {false}; final VirtualMachineMO vmMo = this; @@ -248,17 +248,12 @@ public class VirtualMachineMO extends BaseMO { } }); - try { - boolean result = _context.getVimClient().waitForTask(morTask); - if (result) { - _context.waitForTaskProgressDone(morTask); - return true; - } else { - s_logger.error("VMware powerOnVM_Task failed due to " + TaskMO.getTaskFailureInfo(_context, morTask)); - } - } finally { - // make sure to let VM question monitor exit - flags[0] = true; + boolean result = _context.getVimClient().waitForTask(morTask); + if (result) { + _context.waitForTaskProgressDone(morTask); + return true; + } else { + s_logger.error("VMware powerOnVM_Task failed due to " + TaskMO.getTaskFailureInfo(_context, morTask)); } return false;
