mirror of https://github.com/apache/cloudstack.git
Remove unmanaged from resource state
This commit is contained in:
parent
6ac6b95e3c
commit
6f6be508a1
|
|
@ -9,7 +9,6 @@ public enum ResourceState {
|
|||
Creating,
|
||||
Enabled,
|
||||
Disabled,
|
||||
Unmanaged,
|
||||
PrepareForMaintenance,
|
||||
ErrorInMaintenance,
|
||||
Maintenance,
|
||||
|
|
@ -63,39 +62,32 @@ public enum ResourceState {
|
|||
static {
|
||||
s_fsm.addTransition(null, Event.InternalCreated, ResourceState.Enabled);
|
||||
s_fsm.addTransition(ResourceState.Creating, Event.InternalCreated, ResourceState.Enabled);
|
||||
s_fsm.addTransition(ResourceState.Creating, Event.Unmanaged, ResourceState.Enabled);
|
||||
s_fsm.addTransition(ResourceState.Creating, Event.Unmanaged, ResourceState.Creating);
|
||||
s_fsm.addTransition(ResourceState.Creating, Event.Error, ResourceState.Error);
|
||||
s_fsm.addTransition(ResourceState.Enabled, Event.Enable, ResourceState.Enabled);
|
||||
s_fsm.addTransition(ResourceState.Enabled, Event.InternalCreated, ResourceState.Enabled);
|
||||
s_fsm.addTransition(ResourceState.Enabled, Event.Disable, ResourceState.Disabled);
|
||||
s_fsm.addTransition(ResourceState.Enabled, Event.Unmanaged, ResourceState.Unmanaged);
|
||||
s_fsm.addTransition(ResourceState.Enabled, Event.Unmanaged, ResourceState.Enabled);
|
||||
s_fsm.addTransition(ResourceState.Enabled, Event.AdminAskMaintenace, ResourceState.PrepareForMaintenance);
|
||||
//s_fsm.addTransition(ResourceState.Enabled, Event.Error, ResourceState.Error);
|
||||
s_fsm.addTransition(ResourceState.Disabled, Event.Enable, ResourceState.Enabled);
|
||||
s_fsm.addTransition(ResourceState.Disabled, Event.Disable, ResourceState.Disabled);
|
||||
s_fsm.addTransition(ResourceState.Disabled, Event.InternalCreated, ResourceState.Disabled);
|
||||
s_fsm.addTransition(ResourceState.Disabled, Event.Unmanaged, ResourceState.Unmanaged);
|
||||
//s_fsm.addTransition(ResourceState.Disabled, Event.Error, ResourceState.Error);
|
||||
s_fsm.addTransition(ResourceState.Unmanaged, Event.Unmanaged, ResourceState.Unmanaged);
|
||||
s_fsm.addTransition(ResourceState.Unmanaged, Event.InternalCreated, ResourceState.Unmanaged);
|
||||
//s_fsm.addTransition(ResourceState.Unmanaged, Event.Error, ResourceState.Error);
|
||||
s_fsm.addTransition(ResourceState.Disabled, Event.Unmanaged, ResourceState.Disabled);
|
||||
s_fsm.addTransition(ResourceState.PrepareForMaintenance, Event.InternalEnterMaintenance, ResourceState.Maintenance);
|
||||
s_fsm.addTransition(ResourceState.PrepareForMaintenance, Event.AdminCancelMaintenance, ResourceState.Enabled);
|
||||
s_fsm.addTransition(ResourceState.PrepareForMaintenance, Event.Unmanaged, ResourceState.Unmanaged);
|
||||
//s_fsm.addTransition(ResourceState.PrepareForMaintenance, Event.Error, ResourceState.Error);
|
||||
s_fsm.addTransition(ResourceState.PrepareForMaintenance, Event.Unmanaged, ResourceState.PrepareForMaintenance);
|
||||
s_fsm.addTransition(ResourceState.PrepareForMaintenance, Event.UnableToMigrate, ResourceState.ErrorInMaintenance);
|
||||
s_fsm.addTransition(ResourceState.PrepareForMaintenance, Event.InternalCreated, ResourceState.PrepareForMaintenance);
|
||||
s_fsm.addTransition(ResourceState.Maintenance, Event.AdminCancelMaintenance, ResourceState.Enabled);
|
||||
s_fsm.addTransition(ResourceState.Maintenance, Event.InternalCreated, ResourceState.Maintenance);
|
||||
s_fsm.addTransition(ResourceState.Maintenance, Event.DeleteHost, ResourceState.Disabled);
|
||||
s_fsm.addTransition(ResourceState.Maintenance, Event.Unmanaged, ResourceState.Unmanaged);
|
||||
//s_fsm.addTransition(ResourceState.Maintenance, Event.Error, ResourceState.Error);
|
||||
s_fsm.addTransition(ResourceState.ErrorInMaintenance, Event.Unmanaged, ResourceState.Unmanaged);
|
||||
s_fsm.addTransition(ResourceState.Maintenance, Event.Unmanaged, ResourceState.Maintenance);
|
||||
s_fsm.addTransition(ResourceState.ErrorInMaintenance, Event.Unmanaged, ResourceState.ErrorInMaintenance);
|
||||
s_fsm.addTransition(ResourceState.ErrorInMaintenance, Event.InternalCreated, ResourceState.ErrorInMaintenance);
|
||||
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.Error, ResourceState.Error);
|
||||
s_fsm.addTransition(ResourceState.Error, Event.InternalCreated, ResourceState.Error);
|
||||
s_fsm.addTransition(ResourceState.Error, Event.Unmanaged, ResourceState.Error);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ public class AgentMonitor extends Thread implements Listener {
|
|||
sc.addAnd(sc.getEntity().getId(), Op.EQ, agentId);
|
||||
HostVO h = sc.list().get(0);
|
||||
ResourceState resourceState = h.getResourceState();
|
||||
if (resourceState == ResourceState.Disabled || resourceState == ResourceState.Maintenance || resourceState == ResourceState.Unmanaged || resourceState == ResourceState.ErrorInMaintenance) {
|
||||
if (resourceState == ResourceState.Disabled || resourceState == ResourceState.Maintenance || resourceState == ResourceState.ErrorInMaintenance) {
|
||||
/* Host is in non-operation state, so no investigation and direct put agent to Disconnected */
|
||||
status_Logger.debug("Ping timeout but host " + agentId + " is in resource state of " + resourceState + ", so no investigation");
|
||||
_agentMgr.disconnectWithoutInvestigation(agentId, Event.ShutdownRequested);
|
||||
|
|
|
|||
|
|
@ -83,6 +83,7 @@ import com.cloud.ha.HighAvailabilityManager.WorkType;
|
|||
import com.cloud.host.DetailVO;
|
||||
import com.cloud.host.Host;
|
||||
import com.cloud.host.Host.Type;
|
||||
import com.cloud.host.Status.Event;
|
||||
import com.cloud.host.HostStats;
|
||||
import com.cloud.host.HostVO;
|
||||
import com.cloud.host.Status;
|
||||
|
|
@ -1772,6 +1773,7 @@ public class ResourceManagerImpl implements ResourceManager, ResourceService, Ma
|
|||
return true;
|
||||
}
|
||||
|
||||
_agentMgr.disconnectWithoutInvestigation(hostId, Event.ShutdownRequested);
|
||||
resourceStateTransitTo(host, ResourceState.Event.Unmanaged, _nodeId);
|
||||
return true;
|
||||
} catch (NoTransitionException e) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue