From a5bca0999aa010252b1390c4db6dc5023967ab06 Mon Sep 17 00:00:00 2001 From: Mice Xia Date: Mon, 8 Oct 2012 14:05:05 +0800 Subject: [PATCH] CLOUDSTACK-118 Status of host resorce stuck in ErrorInMaintenance --- api/src/com/cloud/resource/ResourceState.java | 1 + server/src/com/cloud/vm/VirtualMachineManagerImpl.java | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/api/src/com/cloud/resource/ResourceState.java b/api/src/com/cloud/resource/ResourceState.java index bb4c7e96ee8..6e0afa6c06c 100755 --- a/api/src/com/cloud/resource/ResourceState.java +++ b/api/src/com/cloud/resource/ResourceState.java @@ -113,6 +113,7 @@ public enum ResourceState { s_fsm.addTransition(ResourceState.ErrorInMaintenance, Event.Disable, ResourceState.Disabled); s_fsm.addTransition(ResourceState.ErrorInMaintenance, Event.DeleteHost, ResourceState.Disabled); s_fsm.addTransition(ResourceState.ErrorInMaintenance, Event.InternalEnterMaintenance, ResourceState.Maintenance); + s_fsm.addTransition(ResourceState.ErrorInMaintenance, Event.AdminCancelMaintenance, ResourceState.Enabled); s_fsm.addTransition(ResourceState.Error, Event.InternalCreated, ResourceState.Error); } } diff --git a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java index b20817792dd..9230f4ae729 100755 --- a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java @@ -1995,7 +1995,10 @@ public class VirtualMachineManagerImpl implements VirtualMachineManager, Listene } if (vm.getHostId() == null || hostId != vm.getHostId()) { try { - stateTransitTo(vm, VirtualMachine.Event.AgentReportMigrated, hostId); + ItWorkVO workItem = _workDao.findByOutstandingWork(vm.getId(), State.Migrating); + if(workItem == null){ + stateTransitTo(vm, VirtualMachine.Event.AgentReportMigrated, hostId); + } } catch (NoTransitionException e) { } }