@@ -302,6 +302,24 @@ var _ = Describe("manger.Manager", func() {
302
302
Expect (err ).To (HaveOccurred ())
303
303
Expect (err .Error ()).To (ContainSubstring ("unable to find leader election namespace: not running in-cluster, please specify LeaderElectionNamespace" ))
304
304
})
305
+
306
+ // We must keep this default until we are sure all controller-runtime users have upgraded from the original default
307
+ // ConfigMap lock to a controller-runtime version that has this new default. Many users of controller-runtime skip
308
+ // versions, so we should be extremely conservative here.
309
+ It ("should default to ConfigMapsLeasesResourceLock" , func () {
310
+ m , err := New (cfg , Options {LeaderElection : true , LeaderElectionID : "controller-runtime" , LeaderElectionNamespace : "my-ns" })
311
+ Expect (m ).ToNot (BeNil ())
312
+ Expect (err ).ToNot (HaveOccurred ())
313
+ cm , ok := m .(* controllerManager )
314
+ Expect (ok ).To (BeTrue ())
315
+ multilock , isMultiLock := cm .resourceLock .(* resourcelock.MultiLock )
316
+ Expect (isMultiLock ).To (BeTrue ())
317
+ _ , primaryIsConfigMapLock := multilock .Primary .(* resourcelock.ConfigMapLock )
318
+ Expect (primaryIsConfigMapLock ).To (BeTrue ())
319
+ _ , secondaryIsLeaseLock := multilock .Secondary .(* resourcelock.LeaseLock )
320
+ Expect (secondaryIsLeaseLock ).To (BeTrue ())
321
+
322
+ })
305
323
})
306
324
307
325
It ("should create a listener for the metrics if a valid address is provided" , func () {
0 commit comments