From 04adac0a06fbb3c79696dccb4fdc3e4d744b0d51 Mon Sep 17 00:00:00 2001 From: abhi Date: Wed, 18 Jan 2012 12:06:56 +0530 Subject: [PATCH] bug 12875: a starting VM can be discovered as running if a disconnected host connects back --- server/src/com/cloud/vm/VirtualMachineManagerImpl.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java index 7762822af62..9a20c576a71 100755 --- a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java @@ -1832,7 +1832,14 @@ public class VirtualMachineManagerImpl implements VirtualMachineManager, Listene if(serverState == State.Starting) { if(vm.getHostId() != null && vm.getHostId() != hostId) { s_logger.info("CloudStack is starting VM on host " + vm.getHostId() + ", but status report comes from a different host " + hostId + ", skip status sync for vm: " + vm.getInstanceName()); - return null; + if (vm.getHypervisorType() == HypervisorType.XenServer){ // for xenserver (bug 12875) a starting VM can be discovered as running if a disconnected host connects back + try { + stateTransitTo(vm, VirtualMachine.Event.AgentReportMigrated, hostId); + } catch (NoTransitionException e) { + s_logger.warn(e.getMessage()); + } + } + return null; } }