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

Reply via email to