From c312ad4b99f8aeeb6f86cfe484b54e9a5506f1e2 Mon Sep 17 00:00:00 2001 From: Kelven Yang Date: Mon, 22 Aug 2011 17:35:28 -0700 Subject: [PATCH] bug 11208: use cleanup instead of scheduling to stop based on server state --- server/src/com/cloud/vm/VirtualMachineManagerImpl.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java index febbb5bf9e4..73153e39605 100755 --- a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java @@ -1654,11 +1654,14 @@ public class VirtualMachineManagerImpl implements VirtualMachineManager, Listene s_logger.warn(e.getMessage()); } } - } else if (serverState == State.Stopping || serverState == State.Stopped || serverState == State.Expunging || serverState == State.Destroyed || serverState == State.Error) { + } else if (serverState == State.Stopping) { s_logger.debug("Scheduling a stop command for " + vm); _haMgr.scheduleStop(vm, hostId, WorkType.Stop); + } else if(serverState == State.Stopped || serverState == State.Expunging || serverState == State.Destroyed || serverState == State.Error) { + s_logger.debug("Cleanup vm " + vm + " as its server state is at " + serverState); + command = cleanup(agentName); } else { - s_logger.debug("server VM state " + serverState + " does not meet expectation of a running VM report from agent"); + s_logger.warn("server VM state " + serverState + " does not meet expectation of a running VM report from agent"); // just be careful not to stop VM for things we don't handle // command = cleanup(agentName);