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 anodes
element.- Author:
- bratseth
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static 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
elementstatic Optional<NodesSpecification>
fromParent(ModelElement parentElement, ConfigModelContext context)
Returns a requirement for 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.boolean
isDedicated()
Returns whether this requires dedicated nodes.boolean
isExclusive()
Returns whether the physical hosts running the nodes of this application can also run nodes of other applications.com.yahoo.config.provision.ClusterResources
maxResources()
com.yahoo.config.provision.ClusterResources
minResources()
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)
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.String
toString()
-
-
-
Method Detail
-
from
public static NodesSpecification from(ModelElement nodesElement, ConfigModelContext context)
Returns a requirement for dedicated nodes taken from the givennodes
element
-
fromParent
public static Optional<NodesSpecification> fromParent(ModelElement parentElement, ConfigModelContext context)
Returns a requirement for 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.
-
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
public static NodesSpecification nonDedicated(int count, ConfigModelContext context)
Returns a requirement fromcount
non-dedicated nodes in one group
-
dedicated
public static NodesSpecification dedicated(int count, ConfigModelContext context)
Returns a requirement fromcount
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 forcount
shared nodes withrequired
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()
-
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.
-
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)
-
-