Package com.yahoo.vespa.model
Class ConfigSentinel
java.lang.Object
com.yahoo.config.model.producer.AnyConfigProducer
com.yahoo.config.model.producer.TreeConfigProducer<AnyConfigProducer>
com.yahoo.vespa.model.AbstractService
com.yahoo.vespa.model.ConfigSentinel
- All Implemented Interfaces:
com.yahoo.cloud.config.SentinelConfig.Producer
,com.yahoo.config.ConfigInstance.Producer
,ConfigProducer
,NetworkPortRequestor
,Service
,Serializable
public class ConfigSentinel
extends AbstractService
implements com.yahoo.cloud.config.SentinelConfig.Producer
There is one config-sentinel running on each Vespa host, and one
instance of this class is therefore created by each instance of
class
Host
.- Author:
- gjoranv
- See Also:
-
Field Summary
Fields inherited from class com.yahoo.vespa.model.AbstractService
portsMeta
Fields inherited from class com.yahoo.config.model.producer.AnyConfigProducer
log
-
Constructor Summary
ConstructorDescriptionConfigSentinel
(Host host, com.yahoo.config.provision.ApplicationId applicationId, com.yahoo.config.provision.Zone zone) Constructs a new ConfigSentinel for the given host. -
Method Summary
Modifier and TypeMethodDescriptionvoid
allocatePorts
(int start, PortAllocBridge from) allocate the ports you needvoid
getConfig
(com.yahoo.cloud.config.SentinelConfig.Builder builder) int
The service HTTP port for health statusint
Returns the number of ports needed by this service.Overrides parent method as this is named config-sentinel and not configsentinel all over Vespaint
Returns the desired base port for this service.boolean
The desired base port is the only allowed base port.Methods inherited from class com.yahoo.vespa.model.AbstractService
addEnvironmentVariable, addEnvironmentVariable, appendJvmOptions, defaultPreload, distributeCpuSocketAffinity, getAffinity, getDefaultMetricDimensions, getEnvStringForTesting, getEnvVars, getHost, getHostName, getHostResource, getId, getIndex, getJvmOptions, getNumPortsAllocated, getPortsMeta, getPreLoad, getPreShutdownCommand, getRelativePort, getServiceInfo, getServiceName, getServicePropertyString, getServicePropertyString, getStartupCommand, initService, isInitialized, prependJvmOptions, remove, setAffinity, setBasePort, setCoreOnOOM, setHostResource, setJvmOptions, setMMapNoCoreLimit, setNoVespaMalloc, setPreLoad, setProp, setProp, setVespaMalloc, setVespaMallocDebug, setVespaMallocDebugStackTrace, toString
Methods inherited from class com.yahoo.config.model.producer.TreeConfigProducer
addChild, addDescendantService, getChildren, getChildrenByTypeRecursive, getConfigClassLoader, getDescendantServices, removeChild, validate
Methods inherited from class com.yahoo.config.model.producer.AnyConfigProducer
addConfigId, addUserConfig, cascadeConfig, currentConfigId, findInheritedClassLoader, getConfigId, getMonitoringService, getParent, getRoot, getSubId, getUserConfigs, hostSystem, mergeUserConfigs, setParent, setUserConfigs, stateIsHosted
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.yahoo.vespa.model.ConfigProducer
addUserConfig, cascadeConfig, dump, getChildren, getConfigId, getDescendantServices, getUserConfigs, hostSystem, validate
Methods inherited from interface com.yahoo.vespa.model.NetworkPortRequestor
getConfigId
Methods inherited from interface com.yahoo.vespa.model.Service
getLogctlSpecs
-
Constructor Details
-
ConfigSentinel
public ConfigSentinel(Host host, com.yahoo.config.provision.ApplicationId applicationId, com.yahoo.config.provision.Zone zone) Constructs a new ConfigSentinel for the given host.- Parameters:
host
- Physical host on which to run.
-
-
Method Details
-
allocatePorts
Description copied from interface:NetworkPortRequestor
allocate the ports you need- Specified by:
allocatePorts
in interfaceNetworkPortRequestor
-
getWantedPort
public int getWantedPort()Returns the desired base port for this service.- Specified by:
getWantedPort
in interfaceNetworkPortRequestor
- Overrides:
getWantedPort
in classAbstractService
- Returns:
- The desired base port for the first instance of the service type.
-
requiresWantedPort
public boolean requiresWantedPort()The desired base port is the only allowed base port.- Specified by:
requiresWantedPort
in interfaceNetworkPortRequestor
- Overrides:
requiresWantedPort
in classAbstractService
- Returns:
- false by default
-
getPortCount
public int getPortCount()Description copied from interface:NetworkPortRequestor
Returns the number of ports needed by this service. User-defined ports for container http servers should not be counted, as those ports are required to be outside Vespa's port range.- Specified by:
getPortCount
in interfaceNetworkPortRequestor
- Returns:
- The number of ports reserved by the Sentinel.
-
getHealthPort
public int getHealthPort()Description copied from class:AbstractService
The service HTTP port for health status- Specified by:
getHealthPort
in interfaceService
- Overrides:
getHealthPort
in classAbstractService
-
getServiceType
Overrides parent method as this is named config-sentinel and not configsentinel all over Vespa- Specified by:
getServiceType
in interfaceNetworkPortRequestor
- Overrides:
getServiceType
in classAbstractService
- Returns:
- service type for config-sentinel
-
getConfig
public void getConfig(com.yahoo.cloud.config.SentinelConfig.Builder builder) - Specified by:
getConfig
in interfacecom.yahoo.cloud.config.SentinelConfig.Producer
-