Interface NodeAdmin

All Known Implementing Classes:
NodeAdminImpl

public interface NodeAdmin
NodeAdmin manages the life cycle of NodeAgents.
Author:
Haakon Dybdahl
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Returns whether NodeAdmin itself is currently frozen, meaning it will not pick up any changes from NodeRepository.
    void
    Start/stop NodeAgents and schedule next NodeAgent ticks with the given NodeAgentContexts
    boolean
    setFrozen(boolean frozen)
    Attempts to freeze/unfreeze all NodeAgents and itself.
    void
    Start node-admin schedulers.
    void
    Stop the NodeAgents.
    void
    Stop all services on these nodes
    Returns an upper bound on the time some or all parts of the node admin (including agents) have been frozen.
    void
    updateMetrics(boolean isSuspended)
    Update node admin metrics
  • Method Details

    • refreshContainersToRun

      void refreshContainersToRun(Set<NodeAgentContext> nodeAgentContexts)
      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.