Class NodesSpecification

java.lang.Object
com.yahoo.vespa.model.builder.xml.dom.NodesSpecification

public class NodesSpecification extends Object
A common utility class to represent a requirement for nodes during model building. Such a requirement is commonly specified in services.xml as a nodes element.
Author:
bratseth
  • Method Details

    • from

      public static NodesSpecification from(ModelElement nodesElement, ConfigModelContext context)
      Returns a requirement for dedicated nodes taken from the given nodes element
    • optionalDedicatedFromParent

      public static Optional<NodesSpecification> optionalDedicatedFromParent(ModelElement parentElement, ConfigModelContext context)
      Returns a requirement for non-dedicated or dedicated nodes taken from the nodes element contained in the given parent element, or empty if the parent element is null, or the nodes elements is not present.
    • nonDedicated

      public static NodesSpecification nonDedicated(int count, ConfigModelContext context)
      Returns a requirement from count non-dedicated nodes in one group
    • dedicated

      public static NodesSpecification dedicated(int count, ConfigModelContext context)
      Returns a requirement from count dedicated nodes in one group
    • requiredFromSharedParents

      public static NodesSpecification requiredFromSharedParents(int count, com.yahoo.config.provision.NodeResources resources, ModelElement element, ConfigModelContext context)
      Returns a requirement for count shared nodes with required taken as the OR over all content clusters, and with the given resources.
    • minResources

      public com.yahoo.config.provision.ClusterResources minResources()
    • maxResources

      public com.yahoo.config.provision.ClusterResources maxResources()
    • groupSize

      public com.yahoo.config.provision.IntRange groupSize()
    • isDedicated

      public boolean isDedicated()
      Returns whether this requires dedicated nodes. Otherwise the model encountering this request should reuse nodes requested for other purposes whenever possible.
    • isExclusive

      public boolean isExclusive()
      Returns whether the physical hosts running the nodes of this application can also run nodes of other applications. Using exclusive nodes for containers increases security and increases cost.
    • hasCountAttribute

      public boolean hasCountAttribute()
      Returns whether the count attribute was present on the <nodes> element.
    • provision

      public Map<HostResource,com.yahoo.config.provision.ClusterMembership> provision(HostSystem hostSystem, com.yahoo.config.provision.ClusterSpec.Type clusterType, com.yahoo.config.provision.ClusterSpec.Id clusterId, com.yahoo.config.application.api.DeployLogger logger, boolean stateful)
    • provision

      public Map<HostResource,com.yahoo.config.provision.ClusterMembership> provision(HostSystem hostSystem, com.yahoo.config.provision.ClusterSpec.Type clusterType, com.yahoo.config.provision.ClusterSpec.Id clusterId, com.yahoo.config.provision.ZoneEndpoint zoneEndpoint, com.yahoo.config.application.api.DeployLogger logger, boolean stateful)
    • toString

      public String toString()
      Overrides:
      toString in class Object