Skip to content

Commit 41ce001

Browse files
authored
Merge pull request #2466 from troy0820/troy0820/16-add-types-to-leader-election
[release-0.16] 🐛 Add corev1, coordinationv1 scheme for leader election when LeaderElection manager option is true
2 parents a597c2c + 98224fa commit 41ce001

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

pkg/manager/manager.go

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ import (
2626
"time"
2727

2828
"github.com/go-logr/logr"
29+
coordinationv1 "k8s.io/api/coordination/v1"
30+
corev1 "k8s.io/api/core/v1"
2931
"k8s.io/apimachinery/pkg/api/meta"
3032
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3133
"k8s.io/apimachinery/pkg/runtime"
@@ -353,7 +355,16 @@ func New(config *rest.Config, options Options) (Manager, error) {
353355
leaderRecorderProvider = recorderProvider
354356
} else {
355357
leaderConfig = rest.CopyConfig(options.LeaderElectionConfig)
356-
leaderRecorderProvider, err = options.newRecorderProvider(leaderConfig, cluster.GetHTTPClient(), cluster.GetScheme(), options.Logger.WithName("events"), options.makeBroadcaster)
358+
scheme := cluster.GetScheme()
359+
err := corev1.AddToScheme(scheme)
360+
if err != nil {
361+
return nil, err
362+
}
363+
err = coordinationv1.AddToScheme(scheme)
364+
if err != nil {
365+
return nil, err
366+
}
367+
leaderRecorderProvider, err = options.newRecorderProvider(leaderConfig, cluster.GetHTTPClient(), scheme, options.Logger.WithName("events"), options.makeBroadcaster)
357368
if err != nil {
358369
return nil, err
359370
}
@@ -396,7 +407,6 @@ func New(config *rest.Config, options Options) (Manager, error) {
396407

397408
errChan := make(chan error)
398409
runnables := newRunnables(options.BaseContext, errChan)
399-
400410
return &controllerManager{
401411
stopProcedureEngaged: pointer.Int64(0),
402412
cluster: cluster,

pkg/manager/manager_test.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,12 @@ import (
3434
. "github.com/onsi/gomega"
3535
"github.com/prometheus/client_golang/prometheus"
3636
"go.uber.org/goleak"
37+
coordinationv1 "k8s.io/api/coordination/v1"
3738
corev1 "k8s.io/api/core/v1"
3839
"k8s.io/apimachinery/pkg/api/meta"
3940
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
4041
"k8s.io/apimachinery/pkg/runtime"
42+
"k8s.io/apimachinery/pkg/runtime/schema"
4143
"k8s.io/client-go/rest"
4244
"k8s.io/client-go/tools/leaderelection/resourcelock"
4345
configv1alpha1 "k8s.io/component-base/config/v1alpha1"
@@ -308,7 +310,10 @@ var _ = Describe("manger.Manager", func() {
308310
PprofBindAddress: "0",
309311
})
310312
Expect(err).ToNot(HaveOccurred())
311-
313+
gvkcorev1 := schema.GroupVersionKind{Group: corev1.SchemeGroupVersion.Group, Version: corev1.SchemeGroupVersion.Version, Kind: "ConfigMap"}
314+
gvkcoordinationv1 := schema.GroupVersionKind{Group: coordinationv1.SchemeGroupVersion.Group, Version: coordinationv1.SchemeGroupVersion.Version, Kind: "Lease"}
315+
Expect(m.GetScheme().Recognizes(gvkcorev1)).To(BeTrue())
316+
Expect(m.GetScheme().Recognizes(gvkcoordinationv1)).To(BeTrue())
312317
runnableDone := make(chan struct{})
313318
slowRunnable := RunnableFunc(func(ctx context.Context) error {
314319
<-ctx.Done()

0 commit comments

Comments
 (0)