diff --git a/server/src/com/cloud/agent/manager/AgentManagerImpl.java b/server/src/com/cloud/agent/manager/AgentManagerImpl.java index 4fd9150e9cc..e6ff0954ad7 100755 --- a/server/src/com/cloud/agent/manager/AgentManagerImpl.java +++ b/server/src/com/cloud/agent/manager/AgentManagerImpl.java @@ -1634,10 +1634,10 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, Manager { } List hosts = _hostDao.listBy(host.getClusterId(), host.getPodId(), host.getDataCenterId()); - + List upHosts = _hostDao.listBy( host.getDataCenterId(), host.getPodId(), host.getClusterId(), Host.Type.Routing, Status.Up); for (final VMInstanceVO vm : vms) { - if (hosts == null || hosts.size() <= 1 || !answer.getMigrate()) { - // for the last host in this cluster, stop all the VMs + if (hosts == null || hosts.size() <= 1 || !answer.getMigrate() || upHosts == null || upHosts.size() == 0) { + // for the last valid host in this cluster, stop all the VMs _haMgr.scheduleStop(vm, hostId, WorkType.ForceStop); } else { _haMgr.scheduleMigration(vm);