implement EnqueueExtensions interface in taint toleration scheduling

Signed-off-by: pacoxu <paco.xu@daocloud.io>
Co-authored-by: Wei Huang <weih@hey.com>
This commit is contained in:
pacoxu 2021-03-08 18:38:29 +08:00
parent 573bf2ff85
commit 09298dd83f

View File

@ -35,6 +35,7 @@ type TaintToleration struct {
var _ framework.FilterPlugin = &TaintToleration{}
var _ framework.PreScorePlugin = &TaintToleration{}
var _ framework.ScorePlugin = &TaintToleration{}
var _ framework.EnqueueExtensions = &TaintToleration{}
const (
// Name is the name of the plugin used in the plugin registry and configurations.
@ -50,6 +51,14 @@ func (pl *TaintToleration) Name() string {
return Name
}
// EventsToRegister returns the possible events that may make a Pod
// failed by this plugin schedulable.
func (f *TaintToleration) EventsToRegister() []framework.ClusterEvent {
return []framework.ClusterEvent{
{Resource: framework.Node, ActionType: framework.Add | framework.UpdateNodeTaint},
}
}
// Filter invoked at the filter extension point.
func (pl *TaintToleration) Filter(ctx context.Context, state *framework.CycleState, pod *v1.Pod, nodeInfo *framework.NodeInfo) *framework.Status {
if nodeInfo == nil || nodeInfo.Node() == nil {