mirror of
https://github.com/optim-enterprises-bv/kubernetes.git
synced 2025-11-01 10:48:15 +00:00
implement PodActivator to activate when preemption fails
This commit is contained in:
@@ -84,6 +84,7 @@ type frameworkImpl struct {
|
||||
|
||||
extenders []framework.Extender
|
||||
framework.PodNominator
|
||||
framework.PodActivator
|
||||
|
||||
parallelizer parallelize.Parallelizer
|
||||
}
|
||||
@@ -131,6 +132,7 @@ type frameworkOptions struct {
|
||||
snapshotSharedLister framework.SharedLister
|
||||
metricsRecorder *metrics.MetricAsyncRecorder
|
||||
podNominator framework.PodNominator
|
||||
podActivator framework.PodActivator
|
||||
extenders []framework.Extender
|
||||
captureProfile CaptureProfile
|
||||
parallelizer parallelize.Parallelizer
|
||||
@@ -200,6 +202,12 @@ func WithPodNominator(nominator framework.PodNominator) Option {
|
||||
}
|
||||
}
|
||||
|
||||
func WithPodActivator(activator framework.PodActivator) Option {
|
||||
return func(o *frameworkOptions) {
|
||||
o.podActivator = activator
|
||||
}
|
||||
}
|
||||
|
||||
// WithExtenders sets extenders for the scheduling frameworkImpl.
|
||||
func WithExtenders(extenders []framework.Extender) Option {
|
||||
return func(o *frameworkOptions) {
|
||||
@@ -279,6 +287,7 @@ func NewFramework(ctx context.Context, r Registry, profile *config.KubeScheduler
|
||||
metricsRecorder: options.metricsRecorder,
|
||||
extenders: options.extenders,
|
||||
PodNominator: options.podNominator,
|
||||
PodActivator: options.podActivator,
|
||||
parallelizer: options.parallelizer,
|
||||
logger: logger,
|
||||
}
|
||||
@@ -427,6 +436,10 @@ func (f *frameworkImpl) SetPodNominator(n framework.PodNominator) {
|
||||
f.PodNominator = n
|
||||
}
|
||||
|
||||
func (f *frameworkImpl) SetPodActivator(a framework.PodActivator) {
|
||||
f.PodActivator = a
|
||||
}
|
||||
|
||||
// Close closes each plugin, when they implement io.Closer interface.
|
||||
func (f *frameworkImpl) Close() error {
|
||||
var errs []error
|
||||
|
||||
Reference in New Issue
Block a user