 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConstraintFilter ¶
type ConstraintFilter struct {
	// contains filtered or unexported fields
}
    ConstraintFilter selects only nodes that match certain labels.
func (*ConstraintFilter) Check ¶
func (f *ConstraintFilter) Check(n *NodeInfo) bool
Check returns true if the task's constraint is supported by the given node.
func (*ConstraintFilter) SetTask ¶
func (f *ConstraintFilter) SetTask(t *api.Task) bool
SetTask returns true when the filter is enable for a given task.
type Expr ¶
type Expr struct {
	Key string
	// contains filtered or unexported fields
}
    Expr defines a constraint
func ParseExprs ¶
ParseExprs parses list of constraints into Expr list
type Filter ¶
type Filter interface {
	// SetTask returns true when the filter is enabled for a given task
	// and assigns the task to the filter. It returns false if the filter
	// isn't applicable to this task.  For instance, a constraints filter
	// would return `false` if the task doesn't contain any constraints.
	SetTask(*api.Task) bool
	// Check returns true if the task assigned by SetTask can be scheduled
	// into the given node. This function should not be called if SetTask
	// returned false.
	Check(*NodeInfo) bool
}
    Filter checks whether the given task can run on the given node. A filter may only operate
type NodeInfo ¶
NodeInfo contains a node and some additional metadata.
type Pipeline ¶
type Pipeline struct {
	// contains filtered or unexported fields
}
    Pipeline runs a set of filters against nodes.
func NewPipeline ¶
func NewPipeline() *Pipeline
NewPipeline returns a pipeline with the default set of filters.
func (*Pipeline) Process ¶
Process a node through the filter pipeline. Returns true if all filters pass, false otherwise.
type PluginFilter ¶
type PluginFilter struct {
	// contains filtered or unexported fields
}
    PluginFilter checks that the node has a specific volume plugin installed
func (*PluginFilter) Check ¶
func (f *PluginFilter) Check(n *NodeInfo) bool
Check returns true if the task can be scheduled into the given node. TODO(amitshukla): investigate storing Plugins as a map so it can be easily probed
func (*PluginFilter) SetTask ¶
func (f *PluginFilter) SetTask(t *api.Task) bool
SetTask returns true when the filter is enabled for a given task.
type ReadyFilter ¶
type ReadyFilter struct {
}
    ReadyFilter checks that the node is ready to schedule tasks.
func (*ReadyFilter) Check ¶
func (f *ReadyFilter) Check(n *NodeInfo) bool
Check returns true if the task can be scheduled into the given node.
func (*ReadyFilter) SetTask ¶
func (f *ReadyFilter) SetTask(_ *api.Task) bool
SetTask returns true when the filter is enabled for a given task.
type ResourceFilter ¶
type ResourceFilter struct {
	// contains filtered or unexported fields
}
    ResourceFilter checks that the node has enough resources available to run the task.
func (*ResourceFilter) Check ¶
func (f *ResourceFilter) Check(n *NodeInfo) bool
Check returns true if the task can be scheduled into the given node.
func (*ResourceFilter) SetTask ¶
func (f *ResourceFilter) SetTask(t *api.Task) bool
SetTask returns true when the filter is enabled for a given task.
       Source Files
      ¶
      Source Files
      ¶
    
- constraint.go
- expr.go
- filter.go
- indexed_node_heap.go
- nodeinfo.go
- pipeline.go
- scheduler.go