Skip to content

Commit 214ea1a

Browse files
committed
Update scheduler to use new volume scheduling library
To fix scheme issue, use k8s.io/client-go/kubernetes/scheme instead of legacyscheme.
1 parent 842fed6 commit 214ea1a

File tree

8 files changed

+32
-32
lines changed

8 files changed

+32
-32
lines changed

cmd/kube-scheduler/app/options/BUILD

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ go_library(
1212
visibility = ["//visibility:public"],
1313
deps = [
1414
"//cmd/kube-scheduler/app/config:go_default_library",
15-
"//pkg/api/legacyscheme:go_default_library",
1615
"//pkg/client/leaderelectionconfig:go_default_library",
1716
"//pkg/master/ports:go_default_library",
1817
"//pkg/scheduler/apis/config:go_default_library",
@@ -29,6 +28,7 @@ go_library(
2928
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
3029
"//staging/src/k8s.io/client-go/informers:go_default_library",
3130
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
31+
"//staging/src/k8s.io/client-go/kubernetes/scheme:go_default_library",
3232
"//staging/src/k8s.io/client-go/kubernetes/typed/core/v1:go_default_library",
3333
"//staging/src/k8s.io/client-go/rest:go_default_library",
3434
"//staging/src/k8s.io/client-go/tools/clientcmd:go_default_library",

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import (
3030
utilfeature "k8s.io/apiserver/pkg/util/feature"
3131
"k8s.io/client-go/informers"
3232
clientset "k8s.io/client-go/kubernetes"
33+
"k8s.io/client-go/kubernetes/scheme"
3334
v1core "k8s.io/client-go/kubernetes/typed/core/v1"
3435
restclient "k8s.io/client-go/rest"
3536
"k8s.io/client-go/tools/clientcmd"
@@ -42,7 +43,6 @@ import (
4243
"k8s.io/klog"
4344
kubeschedulerconfigv1alpha1 "k8s.io/kube-scheduler/config/v1alpha1"
4445
schedulerappconfig "k8s.io/kubernetes/cmd/kube-scheduler/app/config"
45-
"k8s.io/kubernetes/pkg/api/legacyscheme"
4646
"k8s.io/kubernetes/pkg/client/leaderelectionconfig"
4747
"k8s.io/kubernetes/pkg/master/ports"
4848
kubeschedulerconfig "k8s.io/kubernetes/pkg/scheduler/apis/config"
@@ -238,7 +238,7 @@ func (o *Options) Config() (*schedulerappconfig.Config, error) {
238238

239239
// Prepare event clients.
240240
eventBroadcaster := record.NewBroadcaster()
241-
recorder := eventBroadcaster.NewRecorder(legacyscheme.Scheme, corev1.EventSource{Component: c.ComponentConfig.SchedulerName})
241+
recorder := eventBroadcaster.NewRecorder(scheme.Scheme, corev1.EventSource{Component: c.ComponentConfig.SchedulerName})
242242

243243
// Set up leader election if enabled.
244244
var leaderElectionConfig *leaderelection.LeaderElectionConfig

pkg/scheduler/BUILD

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,7 @@ go_test(
4949
],
5050
embed = [":go_default_library"],
5151
deps = [
52-
"//pkg/api/legacyscheme:go_default_library",
53-
"//pkg/controller/volume/persistentvolume:go_default_library",
52+
"//pkg/controller/volume/scheduling:go_default_library",
5453
"//pkg/scheduler/algorithm:go_default_library",
5554
"//pkg/scheduler/algorithm/predicates:go_default_library",
5655
"//pkg/scheduler/algorithm/priorities:go_default_library",
@@ -75,6 +74,7 @@ go_test(
7574
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
7675
"//staging/src/k8s.io/client-go/informers:go_default_library",
7776
"//staging/src/k8s.io/client-go/kubernetes/fake:go_default_library",
77+
"//staging/src/k8s.io/client-go/kubernetes/scheme:go_default_library",
7878
"//staging/src/k8s.io/client-go/listers/core/v1:go_default_library",
7979
"//staging/src/k8s.io/client-go/tools/cache:go_default_library",
8080
"//staging/src/k8s.io/client-go/tools/record:go_default_library",

pkg/scheduler/metrics/BUILD

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ go_library(
1010
],
1111
importpath = "k8s.io/kubernetes/pkg/scheduler/metrics",
1212
deps = [
13-
"//pkg/controller/volume/persistentvolume:go_default_library",
13+
"//pkg/controller/volume/scheduling:go_default_library",
1414
"//vendor/github.com/prometheus/client_golang/prometheus:go_default_library",
1515
],
1616
)

pkg/scheduler/metrics/metrics.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import (
2121
"time"
2222

2323
"github.com/prometheus/client_golang/prometheus"
24-
"k8s.io/kubernetes/pkg/controller/volume/persistentvolume"
24+
volumescheduling "k8s.io/kubernetes/pkg/controller/volume/scheduling"
2525
)
2626

2727
const (
@@ -234,7 +234,7 @@ func Register() {
234234
prometheus.MustRegister(metric)
235235
}
236236

237-
persistentvolume.RegisterVolumeSchedulingMetrics()
237+
volumescheduling.RegisterVolumeSchedulingMetrics()
238238
})
239239
}
240240

pkg/scheduler/scheduler_test.go

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,11 @@ import (
3737
"k8s.io/apimachinery/pkg/util/wait"
3838
"k8s.io/client-go/informers"
3939
clientsetfake "k8s.io/client-go/kubernetes/fake"
40+
"k8s.io/client-go/kubernetes/scheme"
4041
corelister "k8s.io/client-go/listers/core/v1"
4142
clientcache "k8s.io/client-go/tools/cache"
4243
"k8s.io/client-go/tools/record"
43-
"k8s.io/kubernetes/pkg/api/legacyscheme"
44-
"k8s.io/kubernetes/pkg/controller/volume/persistentvolume"
44+
volumescheduling "k8s.io/kubernetes/pkg/controller/volume/scheduling"
4545
"k8s.io/kubernetes/pkg/scheduler/algorithm"
4646
"k8s.io/kubernetes/pkg/scheduler/algorithm/predicates"
4747
"k8s.io/kubernetes/pkg/scheduler/algorithm/priorities"
@@ -194,7 +194,7 @@ func TestSchedulerCreation(t *testing.T) {
194194
informerFactory.Core().V1().Services(),
195195
informerFactory.Policy().V1beta1().PodDisruptionBudgets(),
196196
informerFactory.Storage().V1().StorageClasses(),
197-
eventBroadcaster.NewRecorder(legacyscheme.Scheme, v1.EventSource{Component: "scheduler"}),
197+
eventBroadcaster.NewRecorder(scheme.Scheme, v1.EventSource{Component: "scheduler"}),
198198
kubeschedulerconfig.SchedulerAlgorithmSource{Provider: &testSource},
199199
stopCh,
200200
EmptyPluginRegistry,
@@ -302,8 +302,8 @@ func TestScheduler(t *testing.T) {
302302
return item.sendPod
303303
},
304304
Framework: fwk,
305-
Recorder: eventBroadcaster.NewRecorder(legacyscheme.Scheme, v1.EventSource{Component: "scheduler"}),
306-
VolumeBinder: volumebinder.NewFakeVolumeBinder(&persistentvolume.FakeVolumeBinderConfig{AllBound: true}),
305+
Recorder: eventBroadcaster.NewRecorder(scheme.Scheme, v1.EventSource{Component: "scheduler"}),
306+
VolumeBinder: volumebinder.NewFakeVolumeBinder(&volumescheduling.FakeVolumeBinderConfig{AllBound: true}),
307307
})
308308
called := make(chan struct{})
309309
events := eventBroadcaster.StartEventWatcher(func(e *v1.Event) {
@@ -679,7 +679,7 @@ func setupTestScheduler(queuedPodStore *clientcache.FIFO, scache internalcache.C
679679
PodConditionUpdater: fakePodConditionUpdater{},
680680
PodPreemptor: fakePodPreemptor{},
681681
Framework: framework,
682-
VolumeBinder: volumebinder.NewFakeVolumeBinder(&persistentvolume.FakeVolumeBinderConfig{AllBound: true}),
682+
VolumeBinder: volumebinder.NewFakeVolumeBinder(&volumescheduling.FakeVolumeBinderConfig{AllBound: true}),
683683
}
684684

685685
if recorder != nil {
@@ -736,7 +736,7 @@ func setupTestSchedulerLongBindingWithRetry(queuedPodStore *clientcache.FIFO, sc
736736
PodPreemptor: fakePodPreemptor{},
737737
StopEverything: stop,
738738
Framework: framework,
739-
VolumeBinder: volumebinder.NewFakeVolumeBinder(&persistentvolume.FakeVolumeBinderConfig{AllBound: true}),
739+
VolumeBinder: volumebinder.NewFakeVolumeBinder(&volumescheduling.FakeVolumeBinderConfig{AllBound: true}),
740740
})
741741

742742
return sched, bindingChan
@@ -760,7 +760,7 @@ func setupTestSchedulerWithVolumeBinding(fakeVolumeBinder *volumebinder.VolumeBi
760760
predicates.CheckVolumeBindingPred: predicates.NewVolumeBindingPredicate(fakeVolumeBinder),
761761
}
762762

763-
recorder := broadcaster.NewRecorder(legacyscheme.Scheme, v1.EventSource{Component: "scheduler"})
763+
recorder := broadcaster.NewRecorder(scheme.Scheme, v1.EventSource{Component: "scheduler"})
764764
s, bindingChan, errChan := setupTestScheduler(queuedPodStore, scache, informerFactory, predicateMap, recorder)
765765
informerFactory.Start(stop)
766766
informerFactory.WaitForCacheSync(stop)
@@ -794,11 +794,11 @@ func TestSchedulerWithVolumeBinding(t *testing.T) {
794794
expectAssumeCalled bool
795795
expectBindCalled bool
796796
eventReason string
797-
volumeBinderConfig *persistentvolume.FakeVolumeBinderConfig
797+
volumeBinderConfig *volumescheduling.FakeVolumeBinderConfig
798798
}{
799799
{
800800
name: "all bound",
801-
volumeBinderConfig: &persistentvolume.FakeVolumeBinderConfig{
801+
volumeBinderConfig: &volumescheduling.FakeVolumeBinderConfig{
802802
AllBound: true,
803803
FindUnboundSatsified: true,
804804
FindBoundSatsified: true,
@@ -809,7 +809,7 @@ func TestSchedulerWithVolumeBinding(t *testing.T) {
809809
},
810810
{
811811
name: "bound/invalid pv affinity",
812-
volumeBinderConfig: &persistentvolume.FakeVolumeBinderConfig{
812+
volumeBinderConfig: &volumescheduling.FakeVolumeBinderConfig{
813813
AllBound: true,
814814
FindUnboundSatsified: true,
815815
FindBoundSatsified: false,
@@ -819,7 +819,7 @@ func TestSchedulerWithVolumeBinding(t *testing.T) {
819819
},
820820
{
821821
name: "unbound/no matches",
822-
volumeBinderConfig: &persistentvolume.FakeVolumeBinderConfig{
822+
volumeBinderConfig: &volumescheduling.FakeVolumeBinderConfig{
823823
FindUnboundSatsified: false,
824824
FindBoundSatsified: true,
825825
},
@@ -828,7 +828,7 @@ func TestSchedulerWithVolumeBinding(t *testing.T) {
828828
},
829829
{
830830
name: "bound and unbound unsatisfied",
831-
volumeBinderConfig: &persistentvolume.FakeVolumeBinderConfig{
831+
volumeBinderConfig: &volumescheduling.FakeVolumeBinderConfig{
832832
FindUnboundSatsified: false,
833833
FindBoundSatsified: false,
834834
},
@@ -837,7 +837,7 @@ func TestSchedulerWithVolumeBinding(t *testing.T) {
837837
},
838838
{
839839
name: "unbound/found matches/bind succeeds",
840-
volumeBinderConfig: &persistentvolume.FakeVolumeBinderConfig{
840+
volumeBinderConfig: &volumescheduling.FakeVolumeBinderConfig{
841841
FindUnboundSatsified: true,
842842
FindBoundSatsified: true,
843843
},
@@ -848,15 +848,15 @@ func TestSchedulerWithVolumeBinding(t *testing.T) {
848848
},
849849
{
850850
name: "predicate error",
851-
volumeBinderConfig: &persistentvolume.FakeVolumeBinderConfig{
851+
volumeBinderConfig: &volumescheduling.FakeVolumeBinderConfig{
852852
FindErr: findErr,
853853
},
854854
eventReason: "FailedScheduling",
855855
expectError: findErr,
856856
},
857857
{
858858
name: "assume error",
859-
volumeBinderConfig: &persistentvolume.FakeVolumeBinderConfig{
859+
volumeBinderConfig: &volumescheduling.FakeVolumeBinderConfig{
860860
FindUnboundSatsified: true,
861861
FindBoundSatsified: true,
862862
AssumeErr: assumeErr,
@@ -867,7 +867,7 @@ func TestSchedulerWithVolumeBinding(t *testing.T) {
867867
},
868868
{
869869
name: "bind error",
870-
volumeBinderConfig: &persistentvolume.FakeVolumeBinderConfig{
870+
volumeBinderConfig: &volumescheduling.FakeVolumeBinderConfig{
871871
FindUnboundSatsified: true,
872872
FindBoundSatsified: true,
873873
BindErr: bindErr,
@@ -883,7 +883,7 @@ func TestSchedulerWithVolumeBinding(t *testing.T) {
883883
t.Run(item.name, func(t *testing.T) {
884884
stop := make(chan struct{})
885885
fakeVolumeBinder := volumebinder.NewFakeVolumeBinder(item.volumeBinderConfig)
886-
internalBinder, ok := fakeVolumeBinder.Binder.(*persistentvolume.FakeVolumeBinder)
886+
internalBinder, ok := fakeVolumeBinder.Binder.(*volumescheduling.FakeVolumeBinder)
887887
if !ok {
888888
t.Fatalf("Failed to get fake volume binder")
889889
}

pkg/scheduler/volumebinder/BUILD

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ go_library(
66
importpath = "k8s.io/kubernetes/pkg/scheduler/volumebinder",
77
visibility = ["//visibility:public"],
88
deps = [
9-
"//pkg/controller/volume/persistentvolume:go_default_library",
9+
"//pkg/controller/volume/scheduling:go_default_library",
1010
"//staging/src/k8s.io/api/core/v1:go_default_library",
1111
"//staging/src/k8s.io/client-go/informers/core/v1:go_default_library",
1212
"//staging/src/k8s.io/client-go/informers/storage/v1:go_default_library",

pkg/scheduler/volumebinder/volume_binder.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ import (
2323
coreinformers "k8s.io/client-go/informers/core/v1"
2424
storageinformers "k8s.io/client-go/informers/storage/v1"
2525
clientset "k8s.io/client-go/kubernetes"
26-
"k8s.io/kubernetes/pkg/controller/volume/persistentvolume"
26+
volumescheduling "k8s.io/kubernetes/pkg/controller/volume/scheduling"
2727
)
2828

2929
// VolumeBinder sets up the volume binding library
3030
type VolumeBinder struct {
31-
Binder persistentvolume.SchedulerVolumeBinder
31+
Binder volumescheduling.SchedulerVolumeBinder
3232
}
3333

3434
// NewVolumeBinder sets up the volume binding library and binding queue
@@ -41,14 +41,14 @@ func NewVolumeBinder(
4141
bindTimeout time.Duration) *VolumeBinder {
4242

4343
return &VolumeBinder{
44-
Binder: persistentvolume.NewVolumeBinder(client, nodeInformer, pvcInformer, pvInformer, storageClassInformer, bindTimeout),
44+
Binder: volumescheduling.NewVolumeBinder(client, nodeInformer, pvcInformer, pvInformer, storageClassInformer, bindTimeout),
4545
}
4646
}
4747

4848
// NewFakeVolumeBinder sets up a fake volume binder and binding queue
49-
func NewFakeVolumeBinder(config *persistentvolume.FakeVolumeBinderConfig) *VolumeBinder {
49+
func NewFakeVolumeBinder(config *volumescheduling.FakeVolumeBinderConfig) *VolumeBinder {
5050
return &VolumeBinder{
51-
Binder: persistentvolume.NewFakeVolumeBinder(config),
51+
Binder: volumescheduling.NewFakeVolumeBinder(config),
5252
}
5353
}
5454

0 commit comments

Comments
 (0)