Skip to content

Commit 8dd93ca

Browse files
authored
Merge pull request kubernetes#90309 from alculquicondor/plugin-args-decoding
Use internal config types in scheduling plugin args
2 parents 8876563 + 98d1e24 commit 8dd93ca

File tree

37 files changed

+1126
-436
lines changed

37 files changed

+1126
-436
lines changed

cmd/kube-scheduler/app/options/BUILD

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ go_library(
1919
"//pkg/scheduler/apis/config/scheme:go_default_library",
2020
"//pkg/scheduler/apis/config/v1alpha2:go_default_library",
2121
"//pkg/scheduler/apis/config/validation:go_default_library",
22-
"//pkg/scheduler/framework/plugins:go_default_library",
2322
"//pkg/scheduler/framework/plugins/interpodaffinity:go_default_library",
2423
"//staging/src/k8s.io/api/core/v1:go_default_library",
2524
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",

cmd/kube-scheduler/app/options/deprecated.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,8 @@ import (
2121

2222
"github.com/spf13/pflag"
2323
"k8s.io/apimachinery/pkg/util/validation/field"
24-
kubeschedulerv1alpha2 "k8s.io/kube-scheduler/config/v1alpha2"
2524
"k8s.io/kubernetes/pkg/scheduler/algorithmprovider"
2625
kubeschedulerconfig "k8s.io/kubernetes/pkg/scheduler/apis/config"
27-
"k8s.io/kubernetes/pkg/scheduler/framework/plugins"
2826
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/interpodaffinity"
2927
)
3028

@@ -129,10 +127,13 @@ func (o *DeprecatedOptions) ApplyTo(cfg *kubeschedulerconfig.KubeSchedulerConfig
129127
profile.SchedulerName = o.SchedulerName
130128
}
131129
if o.HardPodAffinitySymmetricWeight != interpodaffinity.DefaultHardPodAffinityWeight {
132-
args := kubeschedulerv1alpha2.InterPodAffinityArgs{
133-
HardPodAffinityWeight: &o.HardPodAffinitySymmetricWeight,
130+
plCfg := kubeschedulerconfig.PluginConfig{
131+
Name: interpodaffinity.Name,
132+
Args: &kubeschedulerconfig.InterPodAffinityArgs{
133+
HardPodAffinityWeight: o.HardPodAffinitySymmetricWeight,
134+
},
134135
}
135-
profile.PluginConfig = append(profile.PluginConfig, plugins.NewPluginConfig(interpodaffinity.Name, args))
136+
profile.PluginConfig = append(profile.PluginConfig, plCfg)
136137
}
137138
return nil
138139
}

cmd/kube-scheduler/app/options/options_test.go

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,9 @@ profiles:
203203
disabled:
204204
- name: baz
205205
pluginConfig:
206+
- name: InterPodAffinity
207+
args:
208+
hardPodAffinityWeight: 2
206209
- name: foo
207210
args:
208211
bar: baz
@@ -543,6 +546,12 @@ profiles:
543546
},
544547
},
545548
PluginConfig: []kubeschedulerconfig.PluginConfig{
549+
{
550+
Name: "InterPodAffinity",
551+
Args: &kubeschedulerconfig.InterPodAffinityArgs{
552+
HardPodAffinityWeight: 2,
553+
},
554+
},
546555
{
547556
Name: "foo",
548557
Args: &runtime.Unknown{
@@ -670,9 +679,7 @@ profiles:
670679
PluginConfig: []kubeschedulerconfig.PluginConfig{
671680
{
672681
Name: "InterPodAffinity",
673-
Args: &runtime.Unknown{
674-
Raw: []byte(`{"hardPodAffinityWeight":5}`),
675-
},
682+
Args: &kubeschedulerconfig.InterPodAffinityArgs{HardPodAffinityWeight: 5},
676683
},
677684
},
678685
},

pkg/scheduler/BUILD

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ go_library(
4545
"//staging/src/k8s.io/client-go/listers/core/v1:go_default_library",
4646
"//staging/src/k8s.io/client-go/listers/policy/v1beta1:go_default_library",
4747
"//staging/src/k8s.io/client-go/tools/cache:go_default_library",
48-
"//staging/src/k8s.io/kube-scheduler/config/v1alpha2:go_default_library",
4948
"//vendor/github.com/google/go-cmp/cmp:go_default_library",
5049
"//vendor/k8s.io/klog:go_default_library",
5150
],

pkg/scheduler/apis/config/scheme/BUILD

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
load("@io_bazel_rules_go//go:def.bzl", "go_library")
1+
load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
22

33
go_library(
44
name = "go_default_library",
@@ -28,3 +28,19 @@ filegroup(
2828
tags = ["automanaged"],
2929
visibility = ["//visibility:public"],
3030
)
31+
32+
go_test(
33+
name = "go_default_test",
34+
srcs = ["scheme_test.go"],
35+
embed = [":go_default_library"],
36+
deps = [
37+
"//pkg/scheduler/apis/config:go_default_library",
38+
"//staging/src/k8s.io/api/core/v1:go_default_library",
39+
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
40+
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
41+
"//staging/src/k8s.io/kube-scheduler/config/v1alpha2:go_default_library",
42+
"//vendor/github.com/google/go-cmp/cmp:go_default_library",
43+
"//vendor/k8s.io/utils/pointer:go_default_library",
44+
"//vendor/sigs.k8s.io/yaml:go_default_library",
45+
],
46+
)

0 commit comments

Comments
 (0)