Documentation ¶
Index ¶
- func CleanupPluginBuilders()
- func CloseSession(ssn *Session)
- func RegisterAction(act Action)
- func RegisterPluginBuilder(name string, pc PluginBuilder)
- type Action
- type Arguments
- type Event
- type EventHandler
- type Plugin
- type PluginBuilder
- type Session
- func (ssn *Session) AddEventHandler(eh *EventHandler)
- func (ssn *Session) AddJobOrderFn(name string, cf api.CompareFn)
- func (ssn *Session) AddJobPipelinedFn(name string, vf api.ValidateFn)
- func (ssn *Session) AddJobReadyFn(name string, vf api.ValidateFn)
- func (ssn *Session) AddJobValidFn(name string, fn api.ValidateExFn)
- func (ssn *Session) AddNodePrioritizers(name string, pf []algorithm.PriorityConfig)
- func (ssn *Session) AddOverusedFn(name string, fn api.ValidateFn)
- func (ssn *Session) AddPredicateFn(name string, pf api.PredicateFn)
- func (ssn *Session) AddPreemptableFn(name string, cf api.EvictableFn)
- func (ssn *Session) AddQueueOrderFn(name string, qf api.CompareFn)
- func (ssn *Session) AddReclaimableFn(name string, rf api.EvictableFn)
- func (ssn *Session) AddTaskOrderFn(name string, cf api.CompareFn)
- func (ssn *Session) Allocate(task *api.TaskInfo, hostname string) error
- func (ssn *Session) Evict(reclaimee *api.TaskInfo, reason string) error
- func (ssn *Session) JobOrderFn(l, r interface{}) bool
- func (ssn *Session) JobPipelined(obj interface{}) bool
- func (ssn *Session) JobReady(obj interface{}) bool
- func (ssn *Session) JobValid(obj interface{}) *api.ValidateResult
- func (ssn *Session) NodePrioritizers() []algorithm.PriorityConfig
- func (ssn *Session) Overused(queue *api.QueueInfo) bool
- func (ssn *Session) Pipeline(task *api.TaskInfo, hostname string) error
- func (ssn *Session) PredicateFn(task *api.TaskInfo, node *api.NodeInfo) error
- func (ssn *Session) Preemptable(preemptor *api.TaskInfo, preemptees []*api.TaskInfo) []*api.TaskInfo
- func (ssn *Session) QueueOrderFn(l, r interface{}) bool
- func (ssn *Session) Reclaimable(reclaimer *api.TaskInfo, reclaimees []*api.TaskInfo) []*api.TaskInfo
- func (ssn *Session) Statement() *Statement
- func (ssn Session) String() string
- func (ssn *Session) TaskCompareFns(l, r interface{}) int
- func (ssn *Session) TaskOrderFn(l, r interface{}) bool
- func (ssn *Session) UpdateJobCondition(jobInfo *api.JobInfo, cond *api.PodGroupCondition) error
- type Statement
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CleanupPluginBuilders ¶
func CleanupPluginBuilders()
CleanupPluginBuilders cleans up all the plugin
func RegisterPluginBuilder ¶
func RegisterPluginBuilder(name string, pc PluginBuilder)
RegisterPluginBuilder register the plugin
Types ¶
type Action ¶
type Action interface { // The unique name of Action. Name() string // Initialize initializes the allocator plugins. Initialize() // Execute allocates the cluster's resources into each queue. Execute(ssn *Session) // UnIntialize un-initializes the allocator plugins. UnInitialize() }
Action is the interface of scheduler action.
type Arguments ¶ added in v0.5.0
Arguments map
type EventHandler ¶
EventHandler structure
type Plugin ¶
type Plugin interface { // The unique name of Plugin. Name() string OnSessionOpen(ssn *Session) OnSessionClose(ssn *Session) }
Plugin is the interface of scheduler plugin
type PluginBuilder ¶
PluginBuilder plugin management
func GetPluginBuilder ¶
func GetPluginBuilder(name string) (PluginBuilder, bool)
GetPluginBuilder get the pluginbuilder by name
type Session ¶
type Session struct { UID types.UID Jobs map[api.JobID]*api.JobInfo Nodes map[string]*api.NodeInfo Queues map[api.QueueID]*api.QueueInfo Backlog []*api.JobInfo Tiers []conf.Tier // contains filtered or unexported fields }
Session information for the current session
func OpenSession ¶
OpenSession start the session
func (*Session) AddEventHandler ¶
func (ssn *Session) AddEventHandler(eh *EventHandler)
AddEventHandler add event handlers
func (*Session) AddJobOrderFn ¶
AddJobOrderFn add job order function
func (*Session) AddJobPipelinedFn ¶ added in v0.5.0
func (ssn *Session) AddJobPipelinedFn(name string, vf api.ValidateFn)
AddJobPipelinedFn add pipelined function
func (*Session) AddJobReadyFn ¶
func (ssn *Session) AddJobReadyFn(name string, vf api.ValidateFn)
AddJobReadyFn add JobReady function
func (*Session) AddJobValidFn ¶ added in v0.4.1
func (ssn *Session) AddJobValidFn(name string, fn api.ValidateExFn)
AddJobValidFn add jobvalid function
func (*Session) AddNodePrioritizers ¶ added in v0.5.0
func (ssn *Session) AddNodePrioritizers(name string, pf []algorithm.PriorityConfig)
AddNodePrioritizers add Node prioritizers
func (*Session) AddOverusedFn ¶
func (ssn *Session) AddOverusedFn(name string, fn api.ValidateFn)
AddOverusedFn add overused function
func (*Session) AddPredicateFn ¶
func (ssn *Session) AddPredicateFn(name string, pf api.PredicateFn)
AddPredicateFn add Predicate function
func (*Session) AddPreemptableFn ¶
func (ssn *Session) AddPreemptableFn(name string, cf api.EvictableFn)
AddPreemptableFn add preemptable function
func (*Session) AddQueueOrderFn ¶
AddQueueOrderFn add queue order function
func (*Session) AddReclaimableFn ¶
func (ssn *Session) AddReclaimableFn(name string, rf api.EvictableFn)
AddReclaimableFn add Reclaimable function
func (*Session) AddTaskOrderFn ¶
AddTaskOrderFn add task order function
func (*Session) JobOrderFn ¶
JobOrderFn invoke joborder function of the plugins
func (*Session) JobPipelined ¶ added in v0.5.0
JobPipelined invoke pipelined function of the plugins
func (*Session) JobValid ¶ added in v0.4.1
func (ssn *Session) JobValid(obj interface{}) *api.ValidateResult
JobValid invoke jobvalid function of the plugins
func (*Session) NodePrioritizers ¶ added in v0.5.0
func (ssn *Session) NodePrioritizers() []algorithm.PriorityConfig
NodePrioritizers merge all prioritizers function of the plugins
func (*Session) PredicateFn ¶
PredicateFn invoke predicate function of the plugins
func (*Session) Preemptable ¶
func (ssn *Session) Preemptable(preemptor *api.TaskInfo, preemptees []*api.TaskInfo) []*api.TaskInfo
Preemptable invoke preemptable function of the plugins
func (*Session) QueueOrderFn ¶
QueueOrderFn invoke queueorder function of the plugins
func (*Session) Reclaimable ¶
func (ssn *Session) Reclaimable(reclaimer *api.TaskInfo, reclaimees []*api.TaskInfo) []*api.TaskInfo
Reclaimable invoke reclaimable function of the plugins
func (*Session) TaskCompareFns ¶
TaskCompareFns invoke taskorder function of the plugins
func (*Session) TaskOrderFn ¶
TaskOrderFn invoke taskorder function of the plugins
func (*Session) UpdateJobCondition ¶ added in v0.4.1
UpdateJobCondition update job condition accordingly.
type Statement ¶ added in v0.4.1
type Statement struct {
// contains filtered or unexported fields
}
Statement structure
func (*Statement) Commit ¶ added in v0.4.1
func (s *Statement) Commit()
Commit operation for evict and pipeline
func (*Statement) Discard ¶ added in v0.4.1
func (s *Statement) Discard()
Discard operation for evict and pipeline