java.lang.Object
com.yahoo.vespa.hosted.controller.api.integration.configserver.Node

public class Node extends Object
A node in hosted Vespa. This is immutable and all fields are guaranteed to be non-null. This should never leak any wire format types or types from third-party libraries. Use builder() or builder(Node) to create instances of this.
Author:
mpolden, jonmv
  • Method Details

    • id

      public String id()
      The cloud provider's unique ID for this
    • hostname

      public com.yahoo.config.provision.HostName hostname()
      The hostname of this
    • parentHostname

      public Optional<com.yahoo.config.provision.HostName> parentHostname()
      The parent hostname of this, if any
    • state

      public Node.State state()
      Current state of this
    • type

      public com.yahoo.config.provision.NodeType type()
      The node type of this
    • resources

      public com.yahoo.config.provision.NodeResources resources()
      Resources, such as CPU and memory, of this
    • owner

      public Optional<com.yahoo.config.provision.ApplicationId> owner()
      The application owning this, if any
    • currentVersion

      public com.yahoo.component.Version currentVersion()
      The Vespa version this is currently running
    • wantedVersion

      public com.yahoo.component.Version wantedVersion()
      The wanted Vespa version
    • currentOsVersion

      public com.yahoo.component.Version currentOsVersion()
      The OS version this is currently running
    • wantedOsVersion

      public com.yahoo.component.Version wantedOsVersion()
      The wanted OS version
    • deferOsUpgrade

      public boolean deferOsUpgrade()
      Returns whether the node is currently deferring any OS upgrade
    • currentDockerImage

      public com.yahoo.config.provision.DockerImage currentDockerImage()
      The container image of this is currently running
    • wantedDockerImage

      public com.yahoo.config.provision.DockerImage wantedDockerImage()
      The wanted Docker image
    • currentFirmwareCheck

      public Optional<Instant> currentFirmwareCheck()
      The last time this checked for a firmware update
    • wantedFirmwareCheck

      public Optional<Instant> wantedFirmwareCheck()
      The wanted time this should check for a firmware update
    • serviceState

      public Node.ServiceState serviceState()
      The current service state of this
    • suspendedSince

      public Optional<Instant> suspendedSince()
      The most recent time this suspended, if any
    • restartGeneration

      public long restartGeneration()
      The current restart generation
    • wantedRestartGeneration

      public long wantedRestartGeneration()
      The wanted restart generation
    • rebootGeneration

      public long rebootGeneration()
      The current reboot generation
    • wantedRebootGeneration

      public long wantedRebootGeneration()
      The wanted reboot generation
    • cost

      public int cost()
      A number representing the cost of this
    • failCount

      public int failCount()
      How many times this has failed
    • flavor

      public Optional<String> flavor()
      The flavor of this
    • clusterId

      public String clusterId()
      The cluster ID of this, empty string if unallocated
    • clusterType

      public Node.ClusterType clusterType()
      The cluster type of this
    • retired

      public boolean retired()
      Whether this is retired
    • group

      public String group()
      The group of this node, empty string if unallocated
    • index

      public int index()
      The membership index of this node
    • wantToRetire

      public boolean wantToRetire()
      Whether this node has been requested to retire
    • wantToDeprovision

      public boolean wantToDeprovision()
      Whether this node has been requested to deprovision
    • wantToRebuild

      public boolean wantToRebuild()
      Whether this node has been requested to rebuild
    • down

      public boolean down()
      Whether this node is currently down
    • reservedTo

      public Optional<com.yahoo.config.provision.TenantName> reservedTo()
      The tenant this has been reserved to, if any
    • exclusiveTo

      public Optional<com.yahoo.config.provision.ApplicationId> exclusiveTo()
      The application this has been provisioned exclusively for, if any
    • exclusiveToClusterType

      public Optional<Node.ClusterType> exclusiveToClusterType()
      The cluster type this has been provisioned exclusively for, if any
    • reports

      public Map<String,String> reports()
      Returns the reports of this node. Key is the report ID. Value is untyped, but is typically a JSON string
    • history

      public List<Node.Event> history()
      History of events affecting this
    • ipAddresses

      public Set<String> ipAddresses()
      IP addresses of this
    • additionalIpAddresses

      public Set<String> additionalIpAddresses()
      Additional IP addresses available on this, usable by child nodes
    • additionalHostnames

      public Set<String> additionalHostnames()
      Additional hostnames available on this, usable by child nodes
    • switchHostname

      public Optional<String> switchHostname()
      Hostname of the switch this is connected to, if any
    • modelName

      public Optional<String> modelName()
      The server model of this, if any
    • environment

      public Node.Environment environment()
      The environment this runs in
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • builder

      public static Node.Builder builder()
    • builder

      public static Node.Builder builder(Node node)