From d2f194064d619dd59582d8e2461ff3f96322e539 Mon Sep 17 00:00:00 2001 From: Nitin Mehta Date: Wed, 18 Dec 2013 20:26:51 -0800 Subject: [PATCH] CLOUDSTACK-4941: Adding the missing file During HA and maintenance call different planners (if the original planners are not able to find capacity) which skip some heurestics --- .../com/cloud/ha/HighAvailabilityManagerImpl.java | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java b/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java index 54ca0aa8751..b2c1034ceec 100755 --- a/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java +++ b/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java @@ -551,18 +551,15 @@ public class HighAvailabilityManagerImpl extends ManagerBase implements HighAvai params.put(VirtualMachineProfile.Param.HaTag, _haTag); } - // First try starting the vm with its original planner, if it doesn't succeed send HAPlanner as its an emergency. - _itMgr.advanceStart(vm.getUuid(), params, null); - VMInstanceVO started = _instanceDao.findById(vm.getId()); - if (started != null && started.getState() == VirtualMachine.State.Running) { - s_logger.info("VM is now restarted: " + vmId + " on " + started.getHostId()); - return null; - }else { + try{ + // First try starting the vm with its original planner, if it doesn't succeed send HAPlanner as its an emergency. + _itMgr.advanceStart(vm.getUuid(), params, null); + }catch (InsufficientCapacityException e){ s_logger.warn("Failed to deploy vm " + vmId + " with original planner, sending HAPlanner"); _itMgr.advanceStart(vm.getUuid(), params, _haPlanners.get(0)); } - started = _instanceDao.findById(vm.getId()); + VMInstanceVO started = _instanceDao.findById(vm.getId()); if (started != null && started.getState() == VirtualMachine.State.Running) { s_logger.info("VM is now restarted: " + vmId + " on " + started.getHostId()); return null;