Class NodesSpecification
java.lang.Object
com.yahoo.vespa.model.builder.xml.dom.NodesSpecification
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 Summary
Modifier and TypeMethodDescriptionstatic NodesSpecification
dedicated
(int count, ConfigModelContext context) Returns a requirement fromcount
dedicated nodes in one groupstatic NodesSpecification
from
(ModelElement nodesElement, ConfigModelContext context) Returns a requirement for dedicated nodes taken from the givennodes
elementcom.yahoo.config.provision.IntRange
boolean
Returns whether the count attribute was present on the<nodes>
element.boolean
Returns whether this requires dedicated nodes.boolean
Returns whether the physical hosts running the nodes of this application can also run nodes of other applications.com.yahoo.config.provision.ClusterResources
com.yahoo.config.provision.ClusterResources
static NodesSpecification
nonDedicated
(int count, ConfigModelContext context) Returns a requirement fromcount
non-dedicated nodes in one groupstatic Optional<NodesSpecification>
optionalDedicatedFromParent
(ModelElement parentElement, ConfigModelContext context) Returns a requirement for non-dedicated or dedicated nodes taken from thenodes
element contained in the given parent element, or empty if the parent element is null, or the nodes elements is not present.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, com.yahoo.config.provision.ClusterInfo clusterInfo) 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, com.yahoo.config.provision.ClusterInfo info) static NodesSpecification
requiredFromSharedParents
(int count, com.yahoo.config.provision.NodeResources resources, ModelElement element, ConfigModelContext context) Returns a requirement forcount
shared nodes withrequired
taken as the OR over all content clusters, and with the given resources.toString()
-
Method Details
-
from
Returns a requirement for dedicated nodes taken from the givennodes
element -
optionalDedicatedFromParent
public static Optional<NodesSpecification> optionalDedicatedFromParent(ModelElement parentElement, ConfigModelContext context) Returns a requirement for non-dedicated or dedicated nodes taken from thenodes
element contained in the given parent element, or empty if the parent element is null, or the nodes elements is not present. -
nonDedicated
Returns a requirement fromcount
non-dedicated nodes in one group -
dedicated
Returns a requirement fromcount
dedicated nodes in one group -
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, com.yahoo.config.provision.ClusterInfo clusterInfo) -
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, com.yahoo.config.provision.ClusterInfo info) -
toString
-