Skip to content

Commit 6268e6f

Browse files
authored
Merge pull request kubernetes#95069 from farah/split-scheduler
Move scheduler interface to pkg/scheduler/framework
2 parents a0883b0 + 09b2e8f commit 6268e6f

File tree

142 files changed

+1444
-1356
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

142 files changed

+1444
-1356
lines changed

pkg/scheduler/BUILD

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ go_library(
1717
"//pkg/scheduler/apis/config/scheme:go_default_library",
1818
"//pkg/scheduler/apis/config/validation:go_default_library",
1919
"//pkg/scheduler/core:go_default_library",
20+
"//pkg/scheduler/framework:go_default_library",
2021
"//pkg/scheduler/framework/plugins:go_default_library",
2122
"//pkg/scheduler/framework/plugins/defaultbinder:go_default_library",
2223
"//pkg/scheduler/framework/plugins/noderesources:go_default_library",
2324
"//pkg/scheduler/framework/plugins/queuesort:go_default_library",
2425
"//pkg/scheduler/framework/runtime:go_default_library",
25-
"//pkg/scheduler/framework/v1alpha1:go_default_library",
2626
"//pkg/scheduler/internal/cache:go_default_library",
2727
"//pkg/scheduler/internal/cache/debugger:go_default_library",
2828
"//pkg/scheduler/internal/queue:go_default_library",
@@ -62,6 +62,7 @@ go_test(
6262
"//pkg/scheduler/apis/config:go_default_library",
6363
"//pkg/scheduler/apis/config/scheme:go_default_library",
6464
"//pkg/scheduler/core:go_default_library",
65+
"//pkg/scheduler/framework:go_default_library",
6566
"//pkg/scheduler/framework/plugins:go_default_library",
6667
"//pkg/scheduler/framework/plugins/defaultbinder:go_default_library",
6768
"//pkg/scheduler/framework/plugins/interpodaffinity:go_default_library",
@@ -72,7 +73,6 @@ go_test(
7273
"//pkg/scheduler/framework/plugins/serviceaffinity:go_default_library",
7374
"//pkg/scheduler/framework/plugins/volumebinding:go_default_library",
7475
"//pkg/scheduler/framework/runtime:go_default_library",
75-
"//pkg/scheduler/framework/v1alpha1:go_default_library",
7676
"//pkg/scheduler/internal/cache:go_default_library",
7777
"//pkg/scheduler/internal/cache/fake:go_default_library",
7878
"//pkg/scheduler/internal/queue:go_default_library",

pkg/scheduler/core/BUILD

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ go_library(
1010
visibility = ["//visibility:public"],
1111
deps = [
1212
"//pkg/scheduler/apis/config:go_default_library",
13+
"//pkg/scheduler/framework:go_default_library",
1314
"//pkg/scheduler/framework/runtime:go_default_library",
14-
"//pkg/scheduler/framework/v1alpha1:go_default_library",
1515
"//pkg/scheduler/internal/cache:go_default_library",
1616
"//pkg/scheduler/internal/parallelize:go_default_library",
1717
"//pkg/scheduler/metrics:go_default_library",
@@ -38,14 +38,14 @@ go_test(
3838
deps = [
3939
"//pkg/controller/volume/persistentvolume/util:go_default_library",
4040
"//pkg/scheduler/apis/config:go_default_library",
41+
"//pkg/scheduler/framework:go_default_library",
4142
"//pkg/scheduler/framework/plugins/defaultbinder:go_default_library",
4243
"//pkg/scheduler/framework/plugins/noderesources:go_default_library",
4344
"//pkg/scheduler/framework/plugins/podtopologyspread:go_default_library",
4445
"//pkg/scheduler/framework/plugins/queuesort:go_default_library",
4546
"//pkg/scheduler/framework/plugins/selectorspread:go_default_library",
4647
"//pkg/scheduler/framework/plugins/volumebinding:go_default_library",
4748
"//pkg/scheduler/framework/runtime:go_default_library",
48-
"//pkg/scheduler/framework/v1alpha1:go_default_library",
4949
"//pkg/scheduler/internal/cache:go_default_library",
5050
"//pkg/scheduler/internal/queue:go_default_library",
5151
"//pkg/scheduler/profile:go_default_library",

pkg/scheduler/core/extender.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import (
3030
restclient "k8s.io/client-go/rest"
3131
extenderv1 "k8s.io/kube-scheduler/extender/v1"
3232
schedulerapi "k8s.io/kubernetes/pkg/scheduler/apis/config"
33-
framework "k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1"
33+
"k8s.io/kubernetes/pkg/scheduler/framework"
3434
)
3535

3636
const (

pkg/scheduler/core/extender_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ import (
3030
"k8s.io/client-go/informers"
3131
clientsetfake "k8s.io/client-go/kubernetes/fake"
3232
schedulerapi "k8s.io/kubernetes/pkg/scheduler/apis/config"
33+
"k8s.io/kubernetes/pkg/scheduler/framework"
3334
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/defaultbinder"
3435
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/queuesort"
3536
"k8s.io/kubernetes/pkg/scheduler/framework/runtime"
36-
framework "k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1"
3737
internalcache "k8s.io/kubernetes/pkg/scheduler/internal/cache"
3838
internalqueue "k8s.io/kubernetes/pkg/scheduler/internal/queue"
3939
"k8s.io/kubernetes/pkg/scheduler/profile"

pkg/scheduler/core/generic_scheduler.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ import (
3131
v1 "k8s.io/api/core/v1"
3232
corev1helpers "k8s.io/component-helpers/scheduling/corev1"
3333
extenderv1 "k8s.io/kube-scheduler/extender/v1"
34+
"k8s.io/kubernetes/pkg/scheduler/framework"
3435
"k8s.io/kubernetes/pkg/scheduler/framework/runtime"
35-
framework "k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1"
3636
internalcache "k8s.io/kubernetes/pkg/scheduler/internal/cache"
3737
"k8s.io/kubernetes/pkg/scheduler/internal/parallelize"
3838
"k8s.io/kubernetes/pkg/scheduler/metrics"

pkg/scheduler/core/generic_scheduler_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,14 @@ import (
3737
clientsetfake "k8s.io/client-go/kubernetes/fake"
3838
pvutil "k8s.io/kubernetes/pkg/controller/volume/persistentvolume/util"
3939
schedulerapi "k8s.io/kubernetes/pkg/scheduler/apis/config"
40+
"k8s.io/kubernetes/pkg/scheduler/framework"
4041
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/defaultbinder"
4142
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/noderesources"
4243
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/podtopologyspread"
4344
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/queuesort"
4445
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/selectorspread"
4546
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/volumebinding"
4647
frameworkruntime "k8s.io/kubernetes/pkg/scheduler/framework/runtime"
47-
framework "k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1"
4848
internalcache "k8s.io/kubernetes/pkg/scheduler/internal/cache"
4949
internalqueue "k8s.io/kubernetes/pkg/scheduler/internal/queue"
5050
"k8s.io/kubernetes/pkg/scheduler/profile"
@@ -72,14 +72,14 @@ func (pl *noPodsFilterPlugin) Filter(_ context.Context, _ *framework.CycleState,
7272
}
7373

7474
// NewNoPodsFilterPlugin initializes a noPodsFilterPlugin and returns it.
75-
func NewNoPodsFilterPlugin(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
75+
func NewNoPodsFilterPlugin(_ runtime.Object, _ framework.Handle) (framework.Plugin, error) {
7676
return &noPodsFilterPlugin{}, nil
7777
}
7878

7979
type numericMapPlugin struct{}
8080

8181
func newNumericMapPlugin() frameworkruntime.PluginFactory {
82-
return func(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
82+
return func(_ runtime.Object, _ framework.Handle) (framework.Plugin, error) {
8383
return &numericMapPlugin{}, nil
8484
}
8585
}
@@ -103,7 +103,7 @@ func (pl *numericMapPlugin) ScoreExtensions() framework.ScoreExtensions {
103103
type reverseNumericMapPlugin struct{}
104104

105105
func newReverseNumericMapPlugin() frameworkruntime.PluginFactory {
106-
return func(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
106+
return func(_ runtime.Object, _ framework.Handle) (framework.Plugin, error) {
107107
return &reverseNumericMapPlugin{}, nil
108108
}
109109
}
@@ -144,7 +144,7 @@ func (pl *reverseNumericMapPlugin) NormalizeScore(_ context.Context, _ *framewor
144144
type trueMapPlugin struct{}
145145

146146
func newTrueMapPlugin() frameworkruntime.PluginFactory {
147-
return func(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
147+
return func(_ runtime.Object, _ framework.Handle) (framework.Plugin, error) {
148148
return &trueMapPlugin{}, nil
149149
}
150150
}
@@ -173,7 +173,7 @@ func (pl *trueMapPlugin) NormalizeScore(_ context.Context, _ *framework.CycleSta
173173
type falseMapPlugin struct{}
174174

175175
func newFalseMapPlugin() frameworkruntime.PluginFactory {
176-
return func(_ runtime.Object, _ framework.FrameworkHandle) (framework.Plugin, error) {
176+
return func(_ runtime.Object, _ framework.Handle) (framework.Plugin, error) {
177177
return &falseMapPlugin{}, nil
178178
}
179179
}
@@ -912,7 +912,7 @@ func TestFindFitPredicateCallCounts(t *testing.T) {
912912
plugin := st.FakeFilterPlugin{}
913913
registerFakeFilterFunc := st.RegisterFilterPlugin(
914914
"FakeFilter",
915-
func(_ runtime.Object, fh framework.FrameworkHandle) (framework.Plugin, error) {
915+
func(_ runtime.Object, fh framework.Handle) (framework.Plugin, error) {
916916
return &plugin, nil
917917
},
918918
)

pkg/scheduler/factory.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,12 @@ import (
3636
schedulerapi "k8s.io/kubernetes/pkg/scheduler/apis/config"
3737
"k8s.io/kubernetes/pkg/scheduler/apis/config/validation"
3838
"k8s.io/kubernetes/pkg/scheduler/core"
39+
"k8s.io/kubernetes/pkg/scheduler/framework"
3940
frameworkplugins "k8s.io/kubernetes/pkg/scheduler/framework/plugins"
4041
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/defaultbinder"
4142
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/noderesources"
4243
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/queuesort"
4344
frameworkruntime "k8s.io/kubernetes/pkg/scheduler/framework/runtime"
44-
framework "k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1"
4545
internalcache "k8s.io/kubernetes/pkg/scheduler/internal/cache"
4646
cachedebugger "k8s.io/kubernetes/pkg/scheduler/internal/cache/debugger"
4747
internalqueue "k8s.io/kubernetes/pkg/scheduler/internal/queue"

pkg/scheduler/factory_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,14 @@ import (
3838
apicore "k8s.io/kubernetes/pkg/apis/core"
3939
schedulerapi "k8s.io/kubernetes/pkg/scheduler/apis/config"
4040
"k8s.io/kubernetes/pkg/scheduler/apis/config/scheme"
41+
"k8s.io/kubernetes/pkg/scheduler/framework"
4142
frameworkplugins "k8s.io/kubernetes/pkg/scheduler/framework/plugins"
4243
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/defaultbinder"
4344
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/interpodaffinity"
4445
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/nodelabel"
4546
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/queuesort"
4647
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/serviceaffinity"
4748
frameworkruntime "k8s.io/kubernetes/pkg/scheduler/framework/runtime"
48-
framework "k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1"
4949
internalcache "k8s.io/kubernetes/pkg/scheduler/internal/cache"
5050
internalqueue "k8s.io/kubernetes/pkg/scheduler/internal/queue"
5151
"k8s.io/kubernetes/pkg/scheduler/profile"

pkg/scheduler/framework/BUILD

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,36 @@
1+
load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
2+
3+
go_library(
4+
name = "go_default_library",
5+
srcs = [
6+
"cycle_state.go",
7+
"extender.go",
8+
"interface.go",
9+
"listers.go",
10+
"types.go",
11+
],
12+
importpath = "k8s.io/kubernetes/pkg/scheduler/framework",
13+
visibility = ["//visibility:public"],
14+
deps = [
15+
"//pkg/apis/core/v1/helper:go_default_library",
16+
"//pkg/features:go_default_library",
17+
"//pkg/scheduler/apis/config:go_default_library",
18+
"//pkg/scheduler/util:go_default_library",
19+
"//staging/src/k8s.io/api/core/v1:go_default_library",
20+
"//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library",
21+
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
22+
"//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library",
23+
"//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",
24+
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
25+
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
26+
"//staging/src/k8s.io/client-go/informers:go_default_library",
27+
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
28+
"//staging/src/k8s.io/client-go/tools/events:go_default_library",
29+
"//staging/src/k8s.io/kube-scheduler/extender/v1:go_default_library",
30+
"//vendor/k8s.io/klog/v2:go_default_library",
31+
],
32+
)
33+
134
filegroup(
235
name = "package-srcs",
336
srcs = glob(["**"]),
@@ -9,10 +42,27 @@ filegroup(
942
name = "all-srcs",
1043
srcs = [
1144
":package-srcs",
45+
"//pkg/scheduler/framework/fake:all-srcs",
1246
"//pkg/scheduler/framework/plugins:all-srcs",
1347
"//pkg/scheduler/framework/runtime:all-srcs",
1448
"//pkg/scheduler/framework/v1alpha1:all-srcs",
1549
],
1650
tags = ["automanaged"],
1751
visibility = ["//visibility:public"],
1852
)
53+
54+
go_test(
55+
name = "go_default_test",
56+
srcs = [
57+
"cycle_state_test.go",
58+
"interface_test.go",
59+
"types_test.go",
60+
],
61+
embed = [":go_default_library"],
62+
deps = [
63+
"//staging/src/k8s.io/api/core/v1:go_default_library",
64+
"//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library",
65+
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
66+
"//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",
67+
],
68+
)

pkg/scheduler/framework/v1alpha1/cycle_state.go renamed to pkg/scheduler/framework/cycle_state.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
1414
limitations under the License.
1515
*/
1616

17-
package v1alpha1
17+
package framework
1818

1919
import (
2020
"errors"

0 commit comments

Comments
 (0)