Package com.yahoo.vespa.model.container
Class ContainerCluster<CONTAINER extends Container>
- java.lang.Object
-
- com.yahoo.config.model.producer.AbstractConfigProducer<AbstractConfigProducer<?>>
-
- com.yahoo.vespa.model.container.ContainerCluster<CONTAINER>
-
- All Implemented Interfaces:
com.yahoo.cloud.config.ClusterInfoConfig.Producer
,com.yahoo.cloud.config.ConfigserverConfig.Producer
,com.yahoo.cloud.config.RoutingProviderConfig.Producer
,com.yahoo.config.ConfigInstance.Producer
,com.yahoo.config.docproc.DocprocConfig.Producer
,com.yahoo.config.docproc.SchemamappingConfig.Producer
,com.yahoo.container.BundlesConfig.Producer
,com.yahoo.container.ComponentsConfig.Producer
,com.yahoo.container.core.ApplicationMetadataConfig.Producer
,com.yahoo.container.core.document.ContainerDocumentConfig.Producer
,com.yahoo.container.handler.ThreadpoolConfig.Producer
,com.yahoo.container.jdisc.config.HealthMonitorConfig.Producer
,com.yahoo.container.jdisc.JdiscBindingsConfig.Producer
,com.yahoo.container.QrSearchersConfig.Producer
,com.yahoo.document.config.DocumentmanagerConfig.Producer
,com.yahoo.prelude.semantics.SemanticRulesConfig.Producer
,com.yahoo.search.config.IndexInfoConfig.Producer
,com.yahoo.search.config.QrStartConfig.Producer
,com.yahoo.search.pagetemplates.PageTemplatesConfig.Producer
,com.yahoo.search.query.profile.config.QueryProfilesConfig.Producer
,com.yahoo.vespa.configdefinition.IlscriptsConfig.Producer
,ConfigProducer
,java.io.Serializable
- Direct Known Subclasses:
ApplicationContainerCluster
,ClusterControllerContainerCluster
,LogserverContainerCluster
,MetricsProxyContainerCluster
public abstract class ContainerCluster<CONTAINER extends Container> extends AbstractConfigProducer<AbstractConfigProducer<?>> implements com.yahoo.container.ComponentsConfig.Producer, com.yahoo.container.jdisc.JdiscBindingsConfig.Producer, com.yahoo.document.config.DocumentmanagerConfig.Producer, com.yahoo.container.core.document.ContainerDocumentConfig.Producer, com.yahoo.container.jdisc.config.HealthMonitorConfig.Producer, com.yahoo.container.core.ApplicationMetadataConfig.Producer, com.yahoo.container.BundlesConfig.Producer, com.yahoo.search.config.IndexInfoConfig.Producer, com.yahoo.vespa.configdefinition.IlscriptsConfig.Producer, com.yahoo.config.docproc.SchemamappingConfig.Producer, com.yahoo.container.QrSearchersConfig.Producer, com.yahoo.search.config.QrStartConfig.Producer, com.yahoo.search.query.profile.config.QueryProfilesConfig.Producer, com.yahoo.search.pagetemplates.PageTemplatesConfig.Producer, com.yahoo.prelude.semantics.SemanticRulesConfig.Producer, com.yahoo.config.docproc.DocprocConfig.Producer, com.yahoo.cloud.config.ClusterInfoConfig.Producer, com.yahoo.cloud.config.RoutingProviderConfig.Producer, com.yahoo.cloud.config.ConfigserverConfig.Producer, com.yahoo.container.handler.ThreadpoolConfig.Producer
Parent class for all container cluster types.- Author:
- gjoranv, Einar M R Rosenvinge, Tony Vaagenes
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
APPLICATION_STATUS_HANDLER_CLASS
static java.lang.String
BINDINGS_OVERVIEW_HANDLER_CLASS
static java.lang.String
CMS
protected java.util.List<CONTAINER>
containers
static java.lang.String
DEFAULT_LINGUISTICS_PROVIDER
static java.lang.String
G1GC
static java.lang.String
LOG_HANDLER_CLASS
static java.lang.String
RESERVED_URI_PREFIX
URI prefix used for internal, usually programmatic, APIs.static java.lang.String
ROOT_HANDLER_BINDING
static java.lang.String
ROOT_HANDLER_PATH
static java.lang.String
STATE_HANDLER_BINDING_1
static java.lang.String
STATE_HANDLER_BINDING_2
static java.lang.String
STATE_HANDLER_CLASS
static java.lang.String
VIP_HANDLER_BINDING
-
Fields inherited from class com.yahoo.config.model.producer.AbstractConfigProducer
log
-
-
Constructor Summary
Constructors Constructor Description ContainerCluster(AbstractConfigProducer<?> parent, java.lang.String subId, java.lang.String name, DeployState deployState)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addApplicationStatusHandler()
void
addComponent(Component<?,?> component)
void
addContainer(CONTAINER container)
void
addContainers(java.util.Collection<CONTAINER> containers)
void
addDefaultHandlersExceptStatus()
void
addDefaultHandlersWithVip()
void
addDefaultRootHandler()
void
addDefaultSearchAccessLog()
void
addMetricStateHandler()
void
addPlatformBundle(java.nio.file.Path bundlePath)
Adds a bundle present at a known location at the target container nodes.protected void
addSimpleComponent(java.lang.String className)
void
addSimpleComponent(java.lang.String idSpec, java.lang.String classSpec, java.lang.String bundleSpec)
void
addVipHandler()
java.util.Map<java.lang.String,java.lang.String>
concreteDocumentTypes()
protected abstract void
doPrepare(DeployState deployState)
java.util.List<java.lang.String>
endpointAliases()
The configured endpoint aliases (fqdn) for the service in this clusterjava.util.Collection<Component<?,?>>
getAllComponents()
Returns all components in this cluster (generic, handlers, chained)java.util.Map<com.yahoo.component.ComponentId,Component<?,?>>
getComponentsMap()
void
getConfig(com.yahoo.cloud.config.ClusterInfoConfig.Builder builder)
void
getConfig(com.yahoo.cloud.config.ConfigserverConfig.Builder builder)
Returns a config server config containing the right zone settings (and defaults for the rest).void
getConfig(com.yahoo.cloud.config.RoutingProviderConfig.Builder builder)
void
getConfig(com.yahoo.config.docproc.DocprocConfig.Builder builder)
void
getConfig(com.yahoo.config.docproc.SchemamappingConfig.Builder builder)
void
getConfig(com.yahoo.container.BundlesConfig.Builder builder)
void
getConfig(com.yahoo.container.ComponentsConfig.Builder builder)
void
getConfig(com.yahoo.container.core.ApplicationMetadataConfig.Builder builder)
void
getConfig(com.yahoo.container.core.document.ContainerDocumentConfig.Builder builder)
void
getConfig(com.yahoo.container.jdisc.config.HealthMonitorConfig.Builder builder)
void
getConfig(com.yahoo.container.jdisc.JdiscBindingsConfig.Builder builder)
void
getConfig(com.yahoo.container.QrSearchersConfig.Builder builder)
void
getConfig(com.yahoo.document.config.DocumentmanagerConfig.Builder builder)
void
getConfig(com.yahoo.prelude.semantics.SemanticRulesConfig.Builder builder)
void
getConfig(com.yahoo.search.config.IndexInfoConfig.Builder builder)
void
getConfig(com.yahoo.search.config.QrStartConfig.Builder builder)
void
getConfig(com.yahoo.search.pagetemplates.PageTemplatesConfig.Builder builder)
void
getConfig(com.yahoo.search.query.profile.config.QueryProfilesConfig.Builder builder)
void
getConfig(com.yahoo.vespa.configdefinition.IlscriptsConfig.Builder builder)
java.util.List<CONTAINER>
getContainers()
ContainerDocproc
getDocproc()
DocprocChains
getDocprocChains()
ContainerDocumentApi
getDocumentApi()
java.util.Collection<Handler<?>>
getHandlers()
java.util.Optional<java.lang.String>
getHostClusterId()
Returns the id of the content cluster which hosts this container cluster, if any.Http
getHttp()
java.util.Optional<java.lang.String>
getJvmGCOptions()
java.lang.String
getName()
double
getQueueSizeFactor()
ContainerSearch
getSearch()
SearchChains
getSearchChains()
java.util.Optional<SecretStore>
getSecretStore()
double
getThreadPoolSizeFactor()
com.yahoo.config.provision.Zone
getZone()
void
initialize(java.util.Map<java.lang.String,AbstractSearchCluster> clusterMap)
boolean
isHostedVespa()
protected abstract boolean
messageBusEnabled()
void
prepare(DeployState deployState)
Component
removeComponent(com.yahoo.component.ComponentId componentId)
Removes a component by idjava.util.List<java.lang.String>
serviceAliases()
The configured service aliases for the service in this clustervoid
setDocproc(ContainerDocproc containerDocproc)
void
setDocumentApi(ContainerDocumentApi containerDocumentApi)
void
setEnvironmentVars(java.lang.String environmentVars)
void
setHostClusterId(java.lang.String clusterId)
void
setHttp(Http http)
void
setHttpServerEnabled(boolean httpServerEnabled)
void
setJvmGCOptions(java.lang.String opts)
void
setProcessingChains(ProcessingChains processingChains, java.lang.String... serverBindings)
void
setRpcServerEnabled(boolean rpcServerEnabled)
void
setSearch(ContainerSearch containerSearch)
void
setSecretStore(SecretStore secretStore)
void
setZone(com.yahoo.config.provision.Zone zone)
java.lang.String
toString()
-
Methods inherited from class com.yahoo.config.model.producer.AbstractConfigProducer
addChild, addConfigId, addDescendantService, addUserConfig, cascadeConfig, dump, getChildren, getChildrenByTypeRecursive, getConfigClassLoader, getConfigId, getDescendantServices, getMonitoringService, getParent, getRoot, getSubId, getUserConfigs, hostSystem, mergeUserConfigs, removeChild, setParent, setUserConfigs, stateIsHosted, validate
-
-
-
-
Field Detail
-
RESERVED_URI_PREFIX
public static final java.lang.String RESERVED_URI_PREFIX
URI prefix used for internal, usually programmatic, APIs. URIs using this prefix should never considered available for direct use by customers, and normal compatibility concerns only applies to libraries using the URIs in question, not contents served from the URIs themselves.- See Also:
- Constant Field Values
-
APPLICATION_STATUS_HANDLER_CLASS
public static final java.lang.String APPLICATION_STATUS_HANDLER_CLASS
- See Also:
- Constant Field Values
-
BINDINGS_OVERVIEW_HANDLER_CLASS
public static final java.lang.String BINDINGS_OVERVIEW_HANDLER_CLASS
-
LOG_HANDLER_CLASS
public static final java.lang.String LOG_HANDLER_CLASS
-
DEFAULT_LINGUISTICS_PROVIDER
public static final java.lang.String DEFAULT_LINGUISTICS_PROVIDER
- See Also:
- Constant Field Values
-
CMS
public static final java.lang.String CMS
- See Also:
- Constant Field Values
-
G1GC
public static final java.lang.String G1GC
- See Also:
- Constant Field Values
-
STATE_HANDLER_CLASS
public static final java.lang.String STATE_HANDLER_CLASS
- See Also:
- Constant Field Values
-
STATE_HANDLER_BINDING_1
public static final java.lang.String STATE_HANDLER_BINDING_1
- See Also:
- Constant Field Values
-
STATE_HANDLER_BINDING_2
public static final java.lang.String STATE_HANDLER_BINDING_2
- See Also:
- Constant Field Values
-
ROOT_HANDLER_PATH
public static final java.lang.String ROOT_HANDLER_PATH
- See Also:
- Constant Field Values
-
ROOT_HANDLER_BINDING
public static final java.lang.String ROOT_HANDLER_BINDING
- See Also:
- Constant Field Values
-
VIP_HANDLER_BINDING
public static final java.lang.String VIP_HANDLER_BINDING
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ContainerCluster
public ContainerCluster(AbstractConfigProducer<?> parent, java.lang.String subId, java.lang.String name, DeployState deployState)
-
-
Method Detail
-
getThreadPoolSizeFactor
public double getThreadPoolSizeFactor()
-
getQueueSizeFactor
public double getQueueSizeFactor()
-
setZone
public void setZone(com.yahoo.config.provision.Zone zone)
-
getZone
public com.yahoo.config.provision.Zone getZone()
-
addDefaultHandlersWithVip
public void addDefaultHandlersWithVip()
-
addDefaultHandlersExceptStatus
public final void addDefaultHandlersExceptStatus()
-
addMetricStateHandler
public void addMetricStateHandler()
-
addDefaultRootHandler
public void addDefaultRootHandler()
-
addApplicationStatusHandler
public void addApplicationStatusHandler()
-
addVipHandler
public void addVipHandler()
-
addComponent
public final void addComponent(Component<?,?> component)
-
addSimpleComponent
public final void addSimpleComponent(java.lang.String idSpec, java.lang.String classSpec, java.lang.String bundleSpec)
-
removeComponent
public Component removeComponent(com.yahoo.component.ComponentId componentId)
Removes a component by id- Returns:
- the removed component, or null if it was not present
-
addSimpleComponent
protected void addSimpleComponent(java.lang.String className)
-
prepare
public void prepare(DeployState deployState)
-
doPrepare
protected abstract void doPrepare(DeployState deployState)
-
getName
public java.lang.String getName()
-
getContainers
public java.util.List<CONTAINER> getContainers()
-
addContainer
public void addContainer(CONTAINER container)
-
addContainers
public void addContainers(java.util.Collection<CONTAINER> containers)
-
setProcessingChains
public void setProcessingChains(ProcessingChains processingChains, java.lang.String... serverBindings)
-
getSearchChains
public SearchChains getSearchChains()
-
getSearch
public ContainerSearch getSearch()
-
setSearch
public void setSearch(ContainerSearch containerSearch)
-
setHttp
public void setHttp(Http http)
-
getHttp
public Http getHttp()
-
getDocproc
public ContainerDocproc getDocproc()
-
setDocproc
public void setDocproc(ContainerDocproc containerDocproc)
-
getDocumentApi
public ContainerDocumentApi getDocumentApi()
-
setDocumentApi
public void setDocumentApi(ContainerDocumentApi containerDocumentApi)
-
getDocprocChains
public DocprocChains getDocprocChains()
-
getHandlers
public java.util.Collection<Handler<?>> getHandlers()
-
setSecretStore
public void setSecretStore(SecretStore secretStore)
-
getSecretStore
public java.util.Optional<SecretStore> getSecretStore()
-
getComponentsMap
public java.util.Map<com.yahoo.component.ComponentId,Component<?,?>> getComponentsMap()
-
getAllComponents
public java.util.Collection<Component<?,?>> getAllComponents()
Returns all components in this cluster (generic, handlers, chained)
-
getConfig
public void getConfig(com.yahoo.container.ComponentsConfig.Builder builder)
- Specified by:
getConfig
in interfacecom.yahoo.container.ComponentsConfig.Producer
-
getConfig
public void getConfig(com.yahoo.container.jdisc.JdiscBindingsConfig.Builder builder)
- Specified by:
getConfig
in interfacecom.yahoo.container.jdisc.JdiscBindingsConfig.Producer
-
getConfig
public void getConfig(com.yahoo.document.config.DocumentmanagerConfig.Builder builder)
- Specified by:
getConfig
in interfacecom.yahoo.document.config.DocumentmanagerConfig.Producer
-
getConfig
public void getConfig(com.yahoo.container.core.document.ContainerDocumentConfig.Builder builder)
- Specified by:
getConfig
in interfacecom.yahoo.container.core.document.ContainerDocumentConfig.Producer
-
getConfig
public void getConfig(com.yahoo.container.jdisc.config.HealthMonitorConfig.Builder builder)
- Specified by:
getConfig
in interfacecom.yahoo.container.jdisc.config.HealthMonitorConfig.Producer
-
getConfig
public void getConfig(com.yahoo.container.core.ApplicationMetadataConfig.Builder builder)
- Specified by:
getConfig
in interfacecom.yahoo.container.core.ApplicationMetadataConfig.Producer
-
addPlatformBundle
public final void addPlatformBundle(java.nio.file.Path bundlePath)
Adds a bundle present at a known location at the target container nodes.- Parameters:
bundlePath
- usually an absolute path, e.g. '$VESPA_HOME/lib/jars/foo.jar'
-
getConfig
public void getConfig(com.yahoo.container.BundlesConfig.Builder builder)
- Specified by:
getConfig
in interfacecom.yahoo.container.BundlesConfig.Producer
-
getConfig
public void getConfig(com.yahoo.container.QrSearchersConfig.Builder builder)
- Specified by:
getConfig
in interfacecom.yahoo.container.QrSearchersConfig.Producer
-
getConfig
public void getConfig(com.yahoo.search.config.QrStartConfig.Builder builder)
- Specified by:
getConfig
in interfacecom.yahoo.search.config.QrStartConfig.Producer
-
getConfig
public void getConfig(com.yahoo.config.docproc.DocprocConfig.Builder builder)
- Specified by:
getConfig
in interfacecom.yahoo.config.docproc.DocprocConfig.Producer
-
getConfig
public void getConfig(com.yahoo.search.pagetemplates.PageTemplatesConfig.Builder builder)
- Specified by:
getConfig
in interfacecom.yahoo.search.pagetemplates.PageTemplatesConfig.Producer
-
getConfig
public void getConfig(com.yahoo.prelude.semantics.SemanticRulesConfig.Builder builder)
- Specified by:
getConfig
in interfacecom.yahoo.prelude.semantics.SemanticRulesConfig.Producer
-
getConfig
public void getConfig(com.yahoo.search.query.profile.config.QueryProfilesConfig.Builder builder)
- Specified by:
getConfig
in interfacecom.yahoo.search.query.profile.config.QueryProfilesConfig.Producer
-
getConfig
public void getConfig(com.yahoo.config.docproc.SchemamappingConfig.Builder builder)
- Specified by:
getConfig
in interfacecom.yahoo.config.docproc.SchemamappingConfig.Producer
-
getConfig
public void getConfig(com.yahoo.search.config.IndexInfoConfig.Builder builder)
- Specified by:
getConfig
in interfacecom.yahoo.search.config.IndexInfoConfig.Producer
-
initialize
public void initialize(java.util.Map<java.lang.String,AbstractSearchCluster> clusterMap)
-
addDefaultSearchAccessLog
public void addDefaultSearchAccessLog()
-
getConfig
public void getConfig(com.yahoo.vespa.configdefinition.IlscriptsConfig.Builder builder)
- Specified by:
getConfig
in interfacecom.yahoo.vespa.configdefinition.IlscriptsConfig.Producer
-
getConfig
public void getConfig(com.yahoo.cloud.config.ClusterInfoConfig.Builder builder)
- Specified by:
getConfig
in interfacecom.yahoo.cloud.config.ClusterInfoConfig.Producer
-
getConfig
public void getConfig(com.yahoo.cloud.config.ConfigserverConfig.Builder builder)
Returns a config server config containing the right zone settings (and defaults for the rest). This is useful to allow applications to find out in which zone they are runnung by having the Zone object (which is constructed from this config) injected.- Specified by:
getConfig
in interfacecom.yahoo.cloud.config.ConfigserverConfig.Producer
-
isHostedVespa
public boolean isHostedVespa()
-
getConfig
public void getConfig(com.yahoo.cloud.config.RoutingProviderConfig.Builder builder)
- Specified by:
getConfig
in interfacecom.yahoo.cloud.config.RoutingProviderConfig.Producer
-
concreteDocumentTypes
public java.util.Map<java.lang.String,java.lang.String> concreteDocumentTypes()
-
serviceAliases
public java.util.List<java.lang.String> serviceAliases()
The configured service aliases for the service in this cluster
-
endpointAliases
public java.util.List<java.lang.String> endpointAliases()
The configured endpoint aliases (fqdn) for the service in this cluster
-
setHostClusterId
public void setHostClusterId(java.lang.String clusterId)
-
getHostClusterId
public java.util.Optional<java.lang.String> getHostClusterId()
Returns the id of the content cluster which hosts this container cluster, if any. This is only set with hosted clusters where this container cluster is set up to run on the nodes of a content cluster.
-
setJvmGCOptions
public void setJvmGCOptions(java.lang.String opts)
-
setEnvironmentVars
public void setEnvironmentVars(java.lang.String environmentVars)
-
getJvmGCOptions
public java.util.Optional<java.lang.String> getJvmGCOptions()
-
setRpcServerEnabled
public final void setRpcServerEnabled(boolean rpcServerEnabled)
-
setHttpServerEnabled
public void setHttpServerEnabled(boolean httpServerEnabled)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
messageBusEnabled
protected abstract boolean messageBusEnabled()
-
-