Package com.netflix.genie.web.scripts
Class ClusterSelectorManagedScript
- java.lang.Object
-
- com.netflix.genie.web.scripts.ManagedScript
-
- com.netflix.genie.web.scripts.ResourceSelectorScript<Cluster,ClusterSelectionContext>
-
- com.netflix.genie.web.scripts.ClusterSelectorManagedScript
-
public class ClusterSelectorManagedScript extends ResourceSelectorScript<Cluster,ClusterSelectionContext>
Extension ofResourceSelectorScript
that delegates selection of a job's cluster when more than one choice is available. See also:ClusterSelector
.The contract between the script and the Java code is that the script will be supplied global variables
clusters
andjobRequest
which will be aSet
ofCluster
instances matching the cluster criteria and the job request that kicked off this evaluation respectively. The code expects the script to return aResourceSelectorScriptResult
instance.- Since:
- 4.0.0
-
-
Constructor Summary
Constructors Constructor Description ClusterSelectorManagedScript(ScriptManager scriptManager, ClusterSelectorScriptProperties properties, io.micrometer.core.instrument.MeterRegistry registry, PropertiesMapCache propertyMapCache)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addParametersForScript(java.util.Map<java.lang.String,java.lang.Object> parameters, ClusterSelectionContext context)
Add any implementation specific parameters to the map of parameters to send to the script.ResourceSelectorScriptResult<Cluster>
selectResource(ClusterSelectionContext context)
Given theJobRequest
and an associated set of resources which matched the request criteria invoke the configured script to see if a preferred resource is selected based on the current logic.-
Methods inherited from class com.netflix.genie.web.scripts.ManagedScript
evaluateScript, warmUp
-
-
-
-
Constructor Detail
-
ClusterSelectorManagedScript
public ClusterSelectorManagedScript(ScriptManager scriptManager, ClusterSelectorScriptProperties properties, io.micrometer.core.instrument.MeterRegistry registry, PropertiesMapCache propertyMapCache)
Constructor.- Parameters:
scriptManager
- script managerproperties
- script manager propertiesregistry
- meter registrypropertyMapCache
- dynamic properties map cache
-
-
Method Detail
-
selectResource
public ResourceSelectorScriptResult<Cluster> selectResource(ClusterSelectionContext context) throws ResourceSelectionException
Given theJobRequest
and an associated set of resources which matched the request criteria invoke the configured script to see if a preferred resource is selected based on the current logic.- Overrides:
selectResource
in classResourceSelectorScript<Cluster,ClusterSelectionContext>
- Parameters:
context
- TheResourceSelectionContext
instance containing information about the context for this selection- Returns:
- A
ResourceSelectorScriptResult
instance - Throws:
ResourceSelectionException
- If an unexpected error occurs during selection
-
addParametersForScript
protected void addParametersForScript(java.util.Map<java.lang.String,java.lang.Object> parameters, ClusterSelectionContext context)
Add any implementation specific parameters to the map of parameters to send to the script.- Overrides:
addParametersForScript
in classResourceSelectorScript<Cluster,ClusterSelectionContext>
- Parameters:
parameters
- The existing set of parameters for implementations to add tocontext
- The selection context
-
-