Updated Branches: refs/heads/4.0 53a3c2f17 -> 06bca1d24
CLOUDSTACK-118 Status of host resorce stuck in ErrorInMaintenance Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/06bca1d2 Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/06bca1d2 Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/06bca1d2 Branch: refs/heads/4.0 Commit: 06bca1d247fc7ac22a11828755117bb41705ecd4 Parents: 196961c Author: Mice Xia <[email protected]> Authored: Mon Oct 8 14:05:05 2012 +0800 Committer: Edison Su <[email protected]> Committed: Tue Oct 16 15:41:45 2012 -0700 ---------------------------------------------------------------------- api/src/com/cloud/resource/ResourceState.java | 1 + .../com/cloud/vm/VirtualMachineManagerImpl.java | 5 ++++- 2 files changed, 5 insertions(+), 1 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/06bca1d2/api/src/com/cloud/resource/ResourceState.java ---------------------------------------------------------------------- diff --git a/api/src/com/cloud/resource/ResourceState.java b/api/src/com/cloud/resource/ResourceState.java index bb4c7e9..6e0afa6 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); } } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/06bca1d2/server/src/com/cloud/vm/VirtualMachineManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java index b208177..9230f4a 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) { } }
