Interface NodeAdmin
- All Known Implementing Classes:
NodeAdminImpl
public interface NodeAdmin
NodeAdmin manages the life cycle of NodeAgents.
- Author:
- Haakon Dybdahl
-
Method Summary
Modifier and TypeMethodDescriptionbooleanisFrozen()Returns whether NodeAdmin itself is currently frozen, meaning it will not pick up any changes from NodeRepository.voidrefreshContainersToRun(Set<NodeAgentContext> nodeAgentContexts) Start/stop NodeAgents and schedule next NodeAgent ticks with the given NodeAgentContextsbooleansetFrozen(boolean frozen) Attempts to freeze/unfreeze all NodeAgents and itself.voidstart()Start node-admin schedulers.voidstop()Stop the NodeAgents.voidStop all services on these nodesReturns an upper bound on the time some or all parts of the node admin (including agents) have been frozen.voidupdateMetrics(boolean isSuspended) Update node admin metrics
-
Method Details
-
refreshContainersToRun
Start/stop NodeAgents and schedule next NodeAgent ticks with the given NodeAgentContexts -
updateMetrics
void updateMetrics(boolean isSuspended) Update node admin metrics -
setFrozen
boolean setFrozen(boolean frozen) Attempts to freeze/unfreeze all NodeAgents and itself. To freeze a NodeAgent means that they will not pick up any changes from NodeRepository.- Parameters:
frozen- whether NodeAgents and NodeAdmin should be frozen- Returns:
- True if all the NodeAgents and NodeAdmin has converged to the desired state
-
isFrozen
boolean isFrozen()Returns whether NodeAdmin itself is currently frozen, meaning it will not pick up any changes from NodeRepository. -
subsystemFreezeDuration
Duration subsystemFreezeDuration()Returns an upper bound on the time some or all parts of the node admin (including agents) have been frozen. Returns 0 if not frozen, nor trying to freeze. -
stopNodeAgentServices
void stopNodeAgentServices()Stop all services on these nodes -
start
void start()Start node-admin schedulers. -
stop
void stop()Stop the NodeAgents. Will not delete the storage or stop the container.
-