From b28fa4df6b8fabc366330d6490fc50fbbcafa806 Mon Sep 17 00:00:00 2001 From: Justin Kulikauskas Date: Mon, 14 Feb 2022 12:05:27 -0500 Subject: [PATCH] :bug: Use leader config for election events Fixes: https://github.com/kubernetes-sigs/controller-runtime/issues/1798 Signed-off-by: Justin Kulikauskas --- pkg/manager/manager.go | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/pkg/manager/manager.go b/pkg/manager/manager.go index 05edcdbb5a..b590406a96 100644 --- a/pkg/manager/manager.go +++ b/pkg/manager/manager.go @@ -335,11 +335,21 @@ func New(config *rest.Config, options Options) (Manager, error) { } // Create the resource lock to enable leader election) - leaderConfig := options.LeaderElectionConfig - if leaderConfig == nil { + var leaderConfig *rest.Config + var leaderRecorderProvider *intrec.Provider + + if options.LeaderElectionConfig == nil { leaderConfig = rest.CopyConfig(config) + leaderRecorderProvider = recorderProvider + } else { + leaderConfig = rest.CopyConfig(options.LeaderElectionConfig) + leaderRecorderProvider, err = options.newRecorderProvider(leaderConfig, cluster.GetScheme(), options.Logger.WithName("events"), options.makeBroadcaster) + if err != nil { + return nil, err + } } - resourceLock, err := options.newResourceLock(leaderConfig, recorderProvider, leaderelection.Options{ + + resourceLock, err := options.newResourceLock(leaderConfig, leaderRecorderProvider, leaderelection.Options{ LeaderElection: options.LeaderElection, LeaderElectionResourceLock: options.LeaderElectionResourceLock, LeaderElectionID: options.LeaderElectionID,