Skip to content

Commit ad63459

Browse files
authored
Merge pull request kubernetes#92082 from chelseychen/event-fallback2
Migrate kube-scheduler to fallback for events API built into the library
2 parents 3a51aaf + 3f95ddb commit ad63459

File tree

6 files changed

+9
-41
lines changed

6 files changed

+9
-41
lines changed

cmd/kube-scheduler/app/BUILD

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ go_library(
1919
"//pkg/scheduler/framework/runtime:go_default_library",
2020
"//pkg/scheduler/metrics:go_default_library",
2121
"//pkg/scheduler/profile:go_default_library",
22-
"//staging/src/k8s.io/api/core/v1:go_default_library",
23-
"//staging/src/k8s.io/api/events/v1beta1:go_default_library",
2422
"//staging/src/k8s.io/apimachinery/pkg/util/errors:go_default_library",
2523
"//staging/src/k8s.io/apiserver/pkg/authentication/authenticator:go_default_library",
2624
"//staging/src/k8s.io/apiserver/pkg/authorization/authorizer:go_default_library",
@@ -30,11 +28,8 @@ go_library(
3028
"//staging/src/k8s.io/apiserver/pkg/server/healthz:go_default_library",
3129
"//staging/src/k8s.io/apiserver/pkg/server/mux:go_default_library",
3230
"//staging/src/k8s.io/apiserver/pkg/server/routes:go_default_library",
33-
"//staging/src/k8s.io/client-go/kubernetes/scheme:go_default_library",
34-
"//staging/src/k8s.io/client-go/kubernetes/typed/core/v1:go_default_library",
3531
"//staging/src/k8s.io/client-go/tools/events:go_default_library",
3632
"//staging/src/k8s.io/client-go/tools/leaderelection:go_default_library",
37-
"//staging/src/k8s.io/client-go/tools/record:go_default_library",
3833
"//staging/src/k8s.io/component-base/cli/flag:go_default_library",
3934
"//staging/src/k8s.io/component-base/cli/globalflag:go_default_library",
4035
"//staging/src/k8s.io/component-base/configz:go_default_library",

cmd/kube-scheduler/app/config/BUILD

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,9 @@ go_library(
1111
"//staging/src/k8s.io/client-go/informers:go_default_library",
1212
"//staging/src/k8s.io/client-go/informers/core/v1:go_default_library",
1313
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
14-
"//staging/src/k8s.io/client-go/kubernetes/typed/core/v1:go_default_library",
15-
"//staging/src/k8s.io/client-go/kubernetes/typed/events/v1beta1:go_default_library",
1614
"//staging/src/k8s.io/client-go/rest:go_default_library",
1715
"//staging/src/k8s.io/client-go/tools/events:go_default_library",
1816
"//staging/src/k8s.io/client-go/tools/leaderelection:go_default_library",
19-
"//staging/src/k8s.io/client-go/tools/record:go_default_library",
2017
],
2118
)
2219

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

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,9 @@ import (
2121
"k8s.io/client-go/informers"
2222
coreinformers "k8s.io/client-go/informers/core/v1"
2323
clientset "k8s.io/client-go/kubernetes"
24-
v1core "k8s.io/client-go/kubernetes/typed/core/v1"
25-
"k8s.io/client-go/kubernetes/typed/events/v1beta1"
2624
restclient "k8s.io/client-go/rest"
2725
"k8s.io/client-go/tools/events"
2826
"k8s.io/client-go/tools/leaderelection"
29-
"k8s.io/client-go/tools/record"
3027
kubeschedulerconfig "k8s.io/kubernetes/pkg/scheduler/apis/config"
3128
)
3229

@@ -48,12 +45,8 @@ type Config struct {
4845
InformerFactory informers.SharedInformerFactory
4946
PodInformer coreinformers.PodInformer
5047

51-
// TODO: Remove the following after fully migrating to the new events api.
52-
CoreEventClient v1core.EventsGetter
53-
CoreBroadcaster record.EventBroadcaster
54-
55-
EventClient v1beta1.EventsGetter
56-
Broadcaster events.EventBroadcaster
48+
//lint:ignore SA1019 this deprecated field still needs to be used for now. It will be removed once the migration is done.
49+
EventBroadcaster events.EventBroadcasterAdapter
5750

5851
// LeaderElection is optional.
5952
LeaderElection *leaderelection.LeaderElectionConfig

cmd/kube-scheduler/app/options/BUILD

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@ go_library(
2828
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
2929
"//staging/src/k8s.io/client-go/informers:go_default_library",
3030
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
31-
"//staging/src/k8s.io/client-go/kubernetes/scheme:go_default_library",
3231
"//staging/src/k8s.io/client-go/rest:go_default_library",
3332
"//staging/src/k8s.io/client-go/tools/clientcmd:go_default_library",
3433
"//staging/src/k8s.io/client-go/tools/clientcmd/api:go_default_library",
34+
"//staging/src/k8s.io/client-go/tools/events:go_default_library",
3535
"//staging/src/k8s.io/client-go/tools/leaderelection:go_default_library",
3636
"//staging/src/k8s.io/client-go/tools/leaderelection/resourcelock:go_default_library",
3737
"//staging/src/k8s.io/client-go/tools/record:go_default_library",

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

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ 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"
3433
restclient "k8s.io/client-go/rest"
3534
"k8s.io/client-go/tools/clientcmd"
3635
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
36+
"k8s.io/client-go/tools/events"
3737
"k8s.io/client-go/tools/leaderelection"
3838
"k8s.io/client-go/tools/leaderelection/resourcelock"
3939
"k8s.io/client-go/tools/record"
@@ -247,13 +247,13 @@ func (o *Options) Config() (*schedulerappconfig.Config, error) {
247247
return nil, err
248248
}
249249

250-
coreBroadcaster := record.NewBroadcaster()
250+
c.EventBroadcaster = events.NewEventBroadcasterAdapter(eventClient)
251251

252252
// Set up leader election if enabled.
253253
var leaderElectionConfig *leaderelection.LeaderElectionConfig
254254
if c.ComponentConfig.LeaderElection.LeaderElect {
255255
// Use the scheduler name in the first profile to record leader election.
256-
coreRecorder := coreBroadcaster.NewRecorder(scheme.Scheme, corev1.EventSource{Component: c.ComponentConfig.Profiles[0].SchedulerName})
256+
coreRecorder := c.EventBroadcaster.DeprecatedNewLegacyRecorder(c.ComponentConfig.Profiles[0].SchedulerName)
257257
leaderElectionConfig, err = makeLeaderElectionConfig(c.ComponentConfig.LeaderElection, leaderElectionClient, coreRecorder)
258258
if err != nil {
259259
return nil, err
@@ -263,9 +263,6 @@ func (o *Options) Config() (*schedulerappconfig.Config, error) {
263263
c.Client = client
264264
c.InformerFactory = informers.NewSharedInformerFactory(client, 0)
265265
c.PodInformer = scheduler.NewPodInformer(client, 0)
266-
c.EventClient = eventClient.EventsV1beta1()
267-
c.CoreEventClient = eventClient.CoreV1()
268-
c.CoreBroadcaster = coreBroadcaster
269266
c.LeaderElection = leaderElectionConfig
270267

271268
return c, nil

cmd/kube-scheduler/app/server.go

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@ import (
2727

2828
"github.com/spf13/cobra"
2929

30-
v1 "k8s.io/api/core/v1"
31-
eventsv1beta1 "k8s.io/api/events/v1beta1"
3230
utilerrors "k8s.io/apimachinery/pkg/util/errors"
3331
"k8s.io/apiserver/pkg/authentication/authenticator"
3432
"k8s.io/apiserver/pkg/authorization/authorizer"
@@ -38,11 +36,8 @@ import (
3836
"k8s.io/apiserver/pkg/server/healthz"
3937
"k8s.io/apiserver/pkg/server/mux"
4038
"k8s.io/apiserver/pkg/server/routes"
41-
"k8s.io/client-go/kubernetes/scheme"
42-
corev1 "k8s.io/client-go/kubernetes/typed/core/v1"
4339
"k8s.io/client-go/tools/events"
4440
"k8s.io/client-go/tools/leaderelection"
45-
"k8s.io/client-go/tools/record"
4641
cliflag "k8s.io/component-base/cli/flag"
4742
"k8s.io/component-base/cli/globalflag"
4843
"k8s.io/component-base/configz"
@@ -158,12 +153,8 @@ func Run(ctx context.Context, cc *schedulerserverconfig.CompletedConfig, sched *
158153
}
159154

160155
// Prepare the event broadcaster.
161-
if cc.Broadcaster != nil && cc.EventClient != nil {
162-
cc.Broadcaster.StartRecordingToSink(ctx.Done())
163-
}
164-
if cc.CoreBroadcaster != nil && cc.CoreEventClient != nil {
165-
cc.CoreBroadcaster.StartRecordingToSink(&corev1.EventSinkImpl{Interface: cc.CoreEventClient.Events("")})
166-
}
156+
cc.EventBroadcaster.StartRecordingToSink(ctx.Done())
157+
167158
// Setup healthz checks.
168159
var checks []healthz.HealthChecker
169160
if cc.ComponentConfig.LeaderElection.LeaderElect {
@@ -287,13 +278,8 @@ func newHealthzHandler(config *kubeschedulerconfig.KubeSchedulerConfiguration, s
287278
}
288279

289280
func getRecorderFactory(cc *schedulerserverconfig.CompletedConfig) profile.RecorderFactory {
290-
if _, err := cc.Client.Discovery().ServerResourcesForGroupVersion(eventsv1beta1.SchemeGroupVersion.String()); err == nil {
291-
cc.Broadcaster = events.NewBroadcaster(&events.EventSinkImpl{Interface: cc.EventClient.Events("")})
292-
return profile.NewRecorderFactory(cc.Broadcaster)
293-
}
294281
return func(name string) events.EventRecorder {
295-
r := cc.CoreBroadcaster.NewRecorder(scheme.Scheme, v1.EventSource{Component: name})
296-
return record.NewEventRecorderAdapter(r)
282+
return cc.EventBroadcaster.NewRecorder(name)
297283
}
298284
}
299285

0 commit comments

Comments
 (0)