@@ -30,6 +30,7 @@ import (
30
30
"k8s.io/apimachinery/pkg/runtime"
31
31
"k8s.io/apimachinery/pkg/runtime/schema"
32
32
"k8s.io/apimachinery/pkg/selection"
33
+ "k8s.io/apimachinery/pkg/types"
33
34
utilerrors "k8s.io/apimachinery/pkg/util/errors"
34
35
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
35
36
"k8s.io/apimachinery/pkg/util/sets"
@@ -269,7 +270,10 @@ func NewOperator(ctx context.Context, kubeconfigPath string, clock utilclock.Clo
269
270
// Wire InstallPlans
270
271
ipInformer := crInformerFactory .Operators ().V1alpha1 ().InstallPlans ()
271
272
op .lister .OperatorsV1alpha1 ().RegisterInstallPlanLister (metav1 .NamespaceAll , ipInformer .Lister ())
272
- ipQueue := workqueue .NewNamedRateLimitingQueue (workqueue .DefaultControllerRateLimiter (), "ips" )
273
+ ipQueue := workqueue .NewRateLimitingQueueWithConfig (workqueue .DefaultControllerRateLimiter (),
274
+ workqueue.RateLimitingQueueConfig {
275
+ Name : "ips" ,
276
+ })
273
277
op .ipQueueSet .Set (metav1 .NamespaceAll , ipQueue )
274
278
ipQueueInformer , err := queueinformer .NewQueueInformer (
275
279
ctx ,
@@ -288,7 +292,10 @@ func NewOperator(ctx context.Context, kubeconfigPath string, clock utilclock.Clo
288
292
289
293
operatorGroupInformer := crInformerFactory .Operators ().V1 ().OperatorGroups ()
290
294
op .lister .OperatorsV1 ().RegisterOperatorGroupLister (metav1 .NamespaceAll , operatorGroupInformer .Lister ())
291
- ogQueue := workqueue .NewNamedRateLimitingQueue (workqueue .DefaultControllerRateLimiter (), "ogs" )
295
+ ogQueue := workqueue .NewRateLimitingQueueWithConfig (workqueue .DefaultControllerRateLimiter (),
296
+ workqueue.RateLimitingQueueConfig {
297
+ Name : "ogs" ,
298
+ })
292
299
op .ogQueueSet .Set (metav1 .NamespaceAll , ogQueue )
293
300
operatorGroupQueueInformer , err := queueinformer .NewQueueInformer (
294
301
ctx ,
@@ -307,15 +314,19 @@ func NewOperator(ctx context.Context, kubeconfigPath string, clock utilclock.Clo
307
314
// Wire CatalogSources
308
315
catsrcInformer := crInformerFactory .Operators ().V1alpha1 ().CatalogSources ()
309
316
op .lister .OperatorsV1alpha1 ().RegisterCatalogSourceLister (metav1 .NamespaceAll , catsrcInformer .Lister ())
310
- catsrcQueue := workqueue .NewNamedRateLimitingQueue (workqueue .DefaultControllerRateLimiter (), "catsrcs" )
317
+ catsrcQueue := workqueue .NewRateLimitingQueueWithConfig (workqueue .DefaultControllerRateLimiter (),
318
+ workqueue.RateLimitingQueueConfig {
319
+ Name : "catsrcs" ,
320
+ })
311
321
op .catsrcQueueSet .Set (metav1 .NamespaceAll , catsrcQueue )
312
322
catsrcQueueInformer , err := queueinformer .NewQueueInformer (
313
323
ctx ,
314
324
queueinformer .WithMetricsProvider (metrics .NewMetricsCatalogSource (op .lister .OperatorsV1alpha1 ().CatalogSourceLister ())),
315
325
queueinformer .WithLogger (op .logger ),
316
326
queueinformer .WithQueue (catsrcQueue ),
317
327
queueinformer .WithInformer (catsrcInformer .Informer ()),
318
- queueinformer .WithSyncer (queueinformer .LegacySyncHandler (op .syncCatalogSources ).ToSyncerWithDelete (op .handleCatSrcDeletion )),
328
+ queueinformer .WithSyncer (queueinformer .LegacySyncHandler (op .syncCatalogSources ).ToSyncer ()),
329
+ queueinformer .WithDeletionHandler (op .handleCatSrcDeletion ),
319
330
)
320
331
if err != nil {
321
332
return nil , err
@@ -333,7 +344,10 @@ func NewOperator(ctx context.Context, kubeconfigPath string, clock utilclock.Clo
333
344
subIndexer := subInformer .Informer ().GetIndexer ()
334
345
op .catalogSubscriberIndexer [metav1 .NamespaceAll ] = subIndexer
335
346
336
- subQueue := workqueue .NewNamedRateLimitingQueue (workqueue .DefaultControllerRateLimiter (), "subs" )
347
+ subQueue := workqueue .NewRateLimitingQueueWithConfig (workqueue .DefaultControllerRateLimiter (),
348
+ workqueue.RateLimitingQueueConfig {
349
+ Name : "subs" ,
350
+ })
337
351
op .subQueueSet .Set (metav1 .NamespaceAll , subQueue )
338
352
subSyncer , err := subscription .NewSyncer (
339
353
ctx ,
@@ -344,7 +358,7 @@ func NewOperator(ctx context.Context, kubeconfigPath string, clock utilclock.Clo
344
358
subscription .WithCatalogInformer (catsrcInformer .Informer ()),
345
359
subscription .WithInstallPlanInformer (ipInformer .Informer ()),
346
360
subscription .WithSubscriptionQueue (subQueue ),
347
- subscription .WithAppendedReconcilers (subscription .ReconcilerFromLegacySyncHandler (op .syncSubscriptions , nil )),
361
+ subscription .WithAppendedReconcilers (subscription .ReconcilerFromLegacySyncHandler (op .syncSubscriptions )),
348
362
subscription .WithRegistryReconcilerFactory (op .reconciler ),
349
363
subscription .WithGlobalCatalogNamespace (op .namespace ),
350
364
subscription .WithSourceProvider (op .sourceInvalidator ),
@@ -659,13 +673,14 @@ func NewOperator(ctx context.Context, kubeconfigPath string, clock utilclock.Clo
659
673
}
660
674
661
675
// Generate and register QueueInformers for k8s resources
662
- k8sSyncer := queueinformer .LegacySyncHandler (op .syncObject ).ToSyncerWithDelete ( op . handleDeletion )
676
+ k8sSyncer := queueinformer .LegacySyncHandler (op .syncObject ).ToSyncer ( )
663
677
for _ , informer := range sharedIndexInformers {
664
678
queueInformer , err := queueinformer .NewQueueInformer (
665
679
ctx ,
666
680
queueinformer .WithLogger (op .logger ),
667
681
queueinformer .WithInformer (informer ),
668
682
queueinformer .WithSyncer (k8sSyncer ),
683
+ queueinformer .WithDeletionHandler (op .handleDeletion ),
669
684
)
670
685
if err != nil {
671
686
return nil , err
@@ -713,7 +728,8 @@ func NewOperator(ctx context.Context, kubeconfigPath string, clock utilclock.Clo
713
728
ctx ,
714
729
queueinformer .WithLogger (op .logger ),
715
730
queueinformer .WithInformer (crdInformer ),
716
- queueinformer .WithSyncer (queueinformer .LegacySyncHandler (op .syncObject ).ToSyncerWithDelete (op .handleDeletion )),
731
+ queueinformer .WithSyncer (queueinformer .LegacySyncHandler (op .syncObject ).ToSyncer ()),
732
+ queueinformer .WithDeletionHandler (op .handleDeletion ),
717
733
)
718
734
if err != nil {
719
735
return nil , err
@@ -734,7 +750,10 @@ func NewOperator(ctx context.Context, kubeconfigPath string, clock utilclock.Clo
734
750
// Namespace sync for resolving subscriptions
735
751
namespaceInformer := informers .NewSharedInformerFactory (op .opClient .KubernetesInterface (), resyncPeriod ()).Core ().V1 ().Namespaces ()
736
752
op .lister .CoreV1 ().RegisterNamespaceLister (namespaceInformer .Lister ())
737
- op .nsResolveQueue = workqueue .NewNamedRateLimitingQueue (workqueue .DefaultControllerRateLimiter (), "resolver" )
753
+ op .nsResolveQueue = workqueue .NewRateLimitingQueueWithConfig (workqueue .DefaultControllerRateLimiter (),
754
+ workqueue.RateLimitingQueueConfig {
755
+ Name : "resolve" ,
756
+ })
738
757
namespaceQueueInformer , err := queueinformer .NewQueueInformer (
739
758
ctx ,
740
759
queueinformer .WithLogger (op .logger ),
@@ -773,12 +792,12 @@ func (o *Operator) syncSourceState(state grpc.SourceState) {
773
792
774
793
if err == nil {
775
794
for ns := range namespaces {
776
- o .nsResolveQueue .Add (ns )
795
+ o .nsResolveQueue .Add (types. NamespacedName { Name : ns } )
777
796
}
778
797
}
779
798
}
780
799
781
- o .nsResolveQueue .Add (state .Key .Namespace )
800
+ o .nsResolveQueue .Add (types. NamespacedName { Name : state .Key .Namespace } )
782
801
}
783
802
if err := o .catsrcQueueSet .Requeue (state .Key .Namespace , state .Key .Name ); err != nil {
784
803
o .logger .WithError (err ).Info ("couldn't requeue catalogsource from catalog status change" )
@@ -859,18 +878,16 @@ func (o *Operator) handleDeletion(obj interface{}) {
859
878
func (o * Operator ) handleCatSrcDeletion (obj interface {}) {
860
879
catsrc , ok := obj .(metav1.Object )
861
880
if ! ok {
881
+ tombstone , ok := obj .(cache.DeletedFinalStateUnknown )
862
882
if ! ok {
863
- tombstone , ok := obj .(cache.DeletedFinalStateUnknown )
864
- if ! ok {
865
- utilruntime .HandleError (fmt .Errorf ("couldn't get object from tombstone %#v" , obj ))
866
- return
867
- }
883
+ utilruntime .HandleError (fmt .Errorf ("couldn't get object from tombstone %#v" , obj ))
884
+ return
885
+ }
868
886
869
- catsrc , ok = tombstone .Obj .(metav1.Object )
870
- if ! ok {
871
- utilruntime .HandleError (fmt .Errorf ("tombstone contained object that is not a Namespace %#v" , obj ))
872
- return
873
- }
887
+ catsrc , ok = tombstone .Obj .(metav1.Object )
888
+ if ! ok {
889
+ utilruntime .HandleError (fmt .Errorf ("tombstone contained object that is not a Namespace %#v" , obj ))
890
+ return
874
891
}
875
892
}
876
893
sourceKey := registry.CatalogKey {Name : catsrc .GetName (), Namespace : catsrc .GetNamespace ()}
@@ -1397,7 +1414,7 @@ func (o *Operator) syncResolvingNamespace(obj interface{}) error {
1397
1414
}
1398
1415
1399
1416
logger .Info ("unpacking is not complete yet, requeueing" )
1400
- o .nsResolveQueue .AddAfter (namespace , 5 * time .Second )
1417
+ o .nsResolveQueue .AddAfter (types. NamespacedName { Name : namespace } , 5 * time .Second )
1401
1418
return nil
1402
1419
}
1403
1420
}
@@ -1479,7 +1496,7 @@ func (o *Operator) syncSubscriptions(obj interface{}) error {
1479
1496
return fmt .Errorf ("casting Subscription failed" )
1480
1497
}
1481
1498
1482
- o .nsResolveQueue .Add (sub .GetNamespace ())
1499
+ o .nsResolveQueue .Add (types. NamespacedName { Name : sub .GetNamespace ()} )
1483
1500
1484
1501
return nil
1485
1502
}
@@ -1493,7 +1510,7 @@ func (o *Operator) syncOperatorGroups(obj interface{}) error {
1493
1510
return fmt .Errorf ("casting OperatorGroup failed" )
1494
1511
}
1495
1512
1496
- o .nsResolveQueue .Add (og .GetNamespace ())
1513
+ o .nsResolveQueue .Add (types. NamespacedName { Name : og .GetNamespace ()} )
1497
1514
1498
1515
return nil
1499
1516
}
0 commit comments