mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-09-21 09:57:52 +00:00
Return a FitError when PreFilter fails with unschedulable status
This commit is contained in:
@@ -123,3 +123,32 @@ func (pl *MatchFilterPlugin) Filter(_ context.Context, _ *framework.CycleState,
|
||||
func NewMatchFilterPlugin(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
|
||||
return &MatchFilterPlugin{}, nil
|
||||
}
|
||||
|
||||
// FakePreFilterPlugin is a test filter plugin.
|
||||
type FakePreFilterPlugin struct {
|
||||
Status *framework.Status
|
||||
}
|
||||
|
||||
// Name returns name of the plugin.
|
||||
func (pl *FakePreFilterPlugin) Name() string {
|
||||
return "FakePreFilter"
|
||||
}
|
||||
|
||||
// PreFilter invoked at the PreFilter extension point.
|
||||
func (pl *FakePreFilterPlugin) PreFilter(_ context.Context, _ *framework.CycleState, pod *v1.Pod) *framework.Status {
|
||||
return pl.Status
|
||||
}
|
||||
|
||||
// PreFilterExtensions no extensions implemented by this plugin.
|
||||
func (pl *FakePreFilterPlugin) PreFilterExtensions() framework.PreFilterExtensions {
|
||||
return nil
|
||||
}
|
||||
|
||||
// NewFakePreFilterPlugin initializes a fakePreFilterPlugin and returns it.
|
||||
func NewFakePreFilterPlugin(status *framework.Status) frameworkruntime.PluginFactory {
|
||||
return func(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
|
||||
return &FakePreFilterPlugin{
|
||||
Status: status,
|
||||
}, nil
|
||||
}
|
||||
}
|
||||
|
@@ -42,6 +42,11 @@ func RegisterQueueSortPlugin(pluginName string, pluginNewFunc runtime.PluginFact
|
||||
return RegisterPluginAsExtensions(pluginName, pluginNewFunc, "QueueSort")
|
||||
}
|
||||
|
||||
// RegisterPreFilterPlugin returns a function to register a PreFilter Plugin to a given registry.
|
||||
func RegisterPreFilterPlugin(pluginName string, pluginNewFunc runtime.PluginFactory) RegisterPluginFunc {
|
||||
return RegisterPluginAsExtensions(pluginName, pluginNewFunc, "PreFilter")
|
||||
}
|
||||
|
||||
// RegisterFilterPlugin returns a function to register a Filter Plugin to a given registry.
|
||||
func RegisterFilterPlugin(pluginName string, pluginNewFunc runtime.PluginFactory) RegisterPluginFunc {
|
||||
return RegisterPluginAsExtensions(pluginName, pluginNewFunc, "Filter")
|
||||
|
Reference in New Issue
Block a user