narrow down the scope of EnqueueExtensions to subscribe less cluster events
This commit is contained in:
@@ -350,8 +350,17 @@ type QueueSortPlugin interface {
|
||||
}
|
||||
|
||||
// EnqueueExtensions is an optional interface that plugins can implement to efficiently
|
||||
// move unschedulable Pods in internal scheduling queues. Plugins
|
||||
// that fail pod scheduling (e.g., Filter plugins) are expected to implement this interface.
|
||||
// move unschedulable Pods in internal scheduling queues.
|
||||
// In the scheduler, Pods can be unschedulable by PreEnqueue, PreFilter, Filter, Reserve, and Permit plugins,
|
||||
// and Pods rejected by these plugins are requeued based on this extension point.
|
||||
// Failures from other extension points are regarded as temporal errors (e.g., network failure),
|
||||
// and the scheduler requeue Pods without this extension point - always requeue Pods to activeQ after backoff.
|
||||
// This is because such temporal errors cannot be resolved by specific cluster events,
|
||||
// and we have no choise but keep retrying scheduling until the failure is resolved.
|
||||
//
|
||||
// Plugins that make pod unschedulable (PreEnqueue, PreFilter, Filter, Reserve, and Permit plugins) should implement this interface,
|
||||
// otherwise the default implementation will be used, which is less efficient in requeueing Pods rejected by the plugin.
|
||||
// And, if plugins other than above extension points support this interface, they are just ignored.
|
||||
type EnqueueExtensions interface {
|
||||
Plugin
|
||||
// EventsToRegister returns a series of possible events that may cause a Pod
|
||||
|
Reference in New Issue
Block a user