CLOUDSTACK-118 Status of host resorce stuck in ErrorInMaintenance

This commit is contained in:
Mice Xia 2012-10-08 14:05:05 +08:00
parent a964d7859e
commit a5bca0999a
2 changed files with 5 additions and 1 deletions

View File

@ -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);
}
}

View File

@ -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) {
}
}