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
portsMetaFields inherited from class com.yahoo.config.model.producer.AnyConfigProducer
log -
Constructor Summary
ConstructorsConstructorDescriptionConfigSentinel(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 TypeMethodDescriptionvoidallocatePorts(int start, PortAllocBridge from) allocate the ports you needvoidgetConfig(com.yahoo.cloud.config.SentinelConfig.Builder builder) intThe service HTTP port for health statusintReturns the number of ports needed by this service.Overrides parent method as this is named config-sentinel and not configsentinel all over VespaintReturns the desired base port for this service.booleanThe 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, toStringMethods inherited from class com.yahoo.config.model.producer.TreeConfigProducer
addChild, addDescendantService, getChildren, getChildrenByTypeRecursive, getConfigClassLoader, getDescendantServices, removeChild, validateMethods inherited from class com.yahoo.config.model.producer.AnyConfigProducer
addConfigId, addUserConfig, cascadeConfig, currentConfigId, findInheritedClassLoader, getConfigId, getMonitoringService, getParent, getRoot, getSubId, getUserConfigs, hostSystem, mergeUserConfigs, setParent, setUserConfigs, stateIsHostedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.yahoo.vespa.model.ConfigProducer
addUserConfig, cascadeConfig, dump, getChildren, getConfigId, getDescendantServices, getUserConfigs, hostSystem, validateMethods inherited from interface com.yahoo.vespa.model.NetworkPortRequestor
getConfigIdMethods 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:NetworkPortRequestorallocate the ports you need- Specified by:
allocatePortsin interfaceNetworkPortRequestor
-
getWantedPort
public int getWantedPort()Returns the desired base port for this service.- Specified by:
getWantedPortin interfaceNetworkPortRequestor- Overrides:
getWantedPortin 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:
requiresWantedPortin interfaceNetworkPortRequestor- Overrides:
requiresWantedPortin classAbstractService- Returns:
- false by default
-
getPortCount
public int getPortCount()Description copied from interface:NetworkPortRequestorReturns 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:
getPortCountin interfaceNetworkPortRequestor- Returns:
- The number of ports reserved by the Sentinel.
-
getHealthPort
public int getHealthPort()Description copied from class:AbstractServiceThe service HTTP port for health status- Specified by:
getHealthPortin interfaceService- Overrides:
getHealthPortin classAbstractService
-
getServiceType
Overrides parent method as this is named config-sentinel and not configsentinel all over Vespa- Specified by:
getServiceTypein interfaceNetworkPortRequestor- Overrides:
getServiceTypein classAbstractService- Returns:
- service type for config-sentinel
-
getConfig
public void getConfig(com.yahoo.cloud.config.SentinelConfig.Builder builder) - Specified by:
getConfigin interfacecom.yahoo.cloud.config.SentinelConfig.Producer
-