diff --git a/pkg/scheduler/framework/plugins/nodelabel/node_label.go b/pkg/scheduler/framework/plugins/nodelabel/node_label.go index ad5188fa33f..ecd648f1892 100644 --- a/pkg/scheduler/framework/plugins/nodelabel/node_label.go +++ b/pkg/scheduler/framework/plugins/nodelabel/node_label.go @@ -69,6 +69,7 @@ type NodeLabel struct { var _ framework.FilterPlugin = &NodeLabel{} var _ framework.ScorePlugin = &NodeLabel{} +var _ framework.EnqueueExtensions = &NodeLabel{} // Name returns name of the plugin. It is used in logs, etc. func (pl *NodeLabel) Name() string { @@ -151,3 +152,11 @@ func (pl *NodeLabel) Score(ctx context.Context, state *framework.CycleState, pod func (pl *NodeLabel) ScoreExtensions() framework.ScoreExtensions { return nil } + +// EventsToRegister returns the possible events that may make a Pod +// failed by this plugin schedulable. +func (pl *NodeLabel) EventsToRegister() []framework.ClusterEvent { + return []framework.ClusterEvent{ + {Resource: framework.Node, ActionType: framework.Add | framework.UpdateNodeLabel}, + } +}