Skip to content

Commit c867fdb

Browse files
authored
Merge pull request kubernetes#86847 from haosdent/clean-filter-deps-nodelabel
Break nodelabel Filter plugins dependency on predicates package
2 parents 9da4b00 + 4ef31f8 commit c867fdb

File tree

5 files changed

+9
-9
lines changed

5 files changed

+9
-9
lines changed

pkg/scheduler/algorithm/predicates/error.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,6 @@ var (
4949
ErrPodNotMatchHostName = NewPredicateFailureError("HostName", "node(s) didn't match the requested hostname")
5050
// ErrPodNotFitsHostPorts is used for PodFitsHostPorts predicate error.
5151
ErrPodNotFitsHostPorts = NewPredicateFailureError("PodFitsHostPorts", "node(s) didn't have free ports for the requested pod ports")
52-
// ErrNodeLabelPresenceViolated is used for CheckNodeLabelPresence predicate error.
53-
ErrNodeLabelPresenceViolated = NewPredicateFailureError("CheckNodeLabelPresence", "node(s) didn't have the requested labels")
5452
// ErrServiceAffinityViolated is used for CheckServiceAffinity predicate error.
5553
ErrServiceAffinityViolated = NewPredicateFailureError("CheckServiceAffinity", "node(s) didn't match service affinity")
5654
// ErrNodeUnderMemoryPressure is used for NodeUnderMemoryPressure predicate error.
@@ -79,7 +77,6 @@ var unresolvablePredicateFailureErrors = map[PredicateFailureReason]struct{}{
7977
ErrPodAffinityRulesNotMatch: {},
8078
ErrPodNotMatchHostName: {},
8179
ErrTaintsTolerationsNotMatch: {},
82-
ErrNodeLabelPresenceViolated: {},
8380
// Node conditions won't change when scheduler simulates removal of preemption victims.
8481
// So, it is pointless to try nodes that have not been able to host the pod due to node
8582
// conditions. These include ErrNodeNotReady, ErrNodeUnderPIDPressure, ErrNodeUnderMemoryPressure, ....

pkg/scheduler/core/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ go_test(
5555
"//pkg/scheduler/apis/extender/v1:go_default_library",
5656
"//pkg/scheduler/framework/plugins/defaultpodtopologyspread:go_default_library",
5757
"//pkg/scheduler/framework/plugins/interpodaffinity:go_default_library",
58+
"//pkg/scheduler/framework/plugins/nodelabel:go_default_library",
5859
"//pkg/scheduler/framework/plugins/noderesources:go_default_library",
5960
"//pkg/scheduler/framework/plugins/podtopologyspread:go_default_library",
6061
"//pkg/scheduler/framework/plugins/volumebinding:go_default_library",

pkg/scheduler/core/generic_scheduler_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import (
2727
"testing"
2828
"time"
2929

30+
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/nodelabel"
3031
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/volumerestrictions"
3132

3233
v1 "k8s.io/api/core/v1"
@@ -1872,7 +1873,7 @@ func TestNodesWherePreemptionMightHelp(t *testing.T) {
18721873
"machine1": framework.NewStatus(framework.UnschedulableAndUnresolvable, algorithmpredicates.ErrNodeSelectorNotMatch.GetReason()),
18731874
"machine2": framework.NewStatus(framework.UnschedulableAndUnresolvable, algorithmpredicates.ErrPodNotMatchHostName.GetReason()),
18741875
"machine3": framework.NewStatus(framework.UnschedulableAndUnresolvable, algorithmpredicates.ErrTaintsTolerationsNotMatch.GetReason()),
1875-
"machine4": framework.NewStatus(framework.UnschedulableAndUnresolvable, algorithmpredicates.ErrNodeLabelPresenceViolated.GetReason()),
1876+
"machine4": framework.NewStatus(framework.UnschedulableAndUnresolvable, nodelabel.ErrReasonPresenceViolated),
18761877
},
18771878
expected: map[string]bool{},
18781879
},

pkg/scheduler/framework/plugins/nodelabel/BUILD

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ go_library(
66
importpath = "k8s.io/kubernetes/pkg/scheduler/framework/plugins/nodelabel",
77
visibility = ["//visibility:public"],
88
deps = [
9-
"//pkg/scheduler/algorithm/predicates:go_default_library",
10-
"//pkg/scheduler/framework/plugins/migration:go_default_library",
119
"//pkg/scheduler/framework/v1alpha1:go_default_library",
1210
"//pkg/scheduler/nodeinfo:go_default_library",
1311
"//staging/src/k8s.io/api/core/v1:go_default_library",

pkg/scheduler/framework/plugins/nodelabel/node_label.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,18 @@ import (
2323
v1 "k8s.io/api/core/v1"
2424
"k8s.io/apimachinery/pkg/labels"
2525
"k8s.io/apimachinery/pkg/runtime"
26-
"k8s.io/kubernetes/pkg/scheduler/algorithm/predicates"
27-
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/migration"
2826
framework "k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1"
2927
"k8s.io/kubernetes/pkg/scheduler/nodeinfo"
3028
)
3129

3230
// Name of this plugin.
3331
const Name = "NodeLabel"
3432

33+
const (
34+
// ErrReasonPresenceViolated is used for CheckNodeLabelPresence predicate error.
35+
ErrReasonPresenceViolated = "node(s) didn't have the requested labels"
36+
)
37+
3538
// Args holds the args that are used to configure the plugin.
3639
type Args struct {
3740
// PresentLabels should be present for the node to be considered a fit for hosting the pod
@@ -118,7 +121,7 @@ func (pl *NodeLabel) Filter(ctx context.Context, _ *framework.CycleState, pod *v
118121
return nil
119122
}
120123

121-
return migration.PredicateResultToFrameworkStatus([]predicates.PredicateFailureReason{predicates.ErrNodeLabelPresenceViolated}, nil)
124+
return framework.NewStatus(framework.UnschedulableAndUnresolvable, ErrReasonPresenceViolated)
122125
}
123126

124127
// Score invoked at the score extension point.

0 commit comments

Comments
 (0)