44 "context"
55 "errors"
66 "fmt"
7+ "github.com/operator-framework/operator-lifecycle-manager/pkg/lib/kubestate"
78 "strings"
89 "sync"
910 "time"
@@ -83,11 +84,11 @@ type Operator struct {
8384 copiedCSVLister metadatalister.Lister
8485 ogQueueSet * queueinformer.ResourceQueueSet
8586 csvQueueSet * queueinformer.ResourceQueueSet
86- olmConfigQueue workqueue.TypedRateLimitingInterface [any ]
87+ olmConfigQueue workqueue.TypedRateLimitingInterface [kubestate. ResourceEvent ]
8788 csvCopyQueueSet * queueinformer.ResourceQueueSet
8889 copiedCSVGCQueueSet * queueinformer.ResourceQueueSet
89- nsQueueSet workqueue.TypedRateLimitingInterface [any ]
90- apiServiceQueue workqueue.TypedRateLimitingInterface [any ]
90+ nsQueueSet workqueue.TypedRateLimitingInterface [kubestate. ResourceEvent ]
91+ apiServiceQueue workqueue.TypedRateLimitingInterface [kubestate. ResourceEvent ]
9192 csvIndexers map [string ]cache.Indexer
9293 recorder record.EventRecorder
9394 resolver install.StrategyResolverInterface
@@ -198,17 +199,17 @@ func newOperatorWithConfig(ctx context.Context, config *operatorConfig) (*Operat
198199 client : config .externalClient ,
199200 ogQueueSet : queueinformer .NewEmptyResourceQueueSet (),
200201 csvQueueSet : queueinformer .NewEmptyResourceQueueSet (),
201- olmConfigQueue : workqueue .NewTypedRateLimitingQueueWithConfig [any ](
202- workqueue .DefaultTypedControllerRateLimiter [any ](),
203- workqueue.TypedRateLimitingQueueConfig [any ]{
202+ olmConfigQueue : workqueue .NewTypedRateLimitingQueueWithConfig [kubestate. ResourceEvent ](
203+ workqueue .DefaultTypedControllerRateLimiter [kubestate. ResourceEvent ](),
204+ workqueue.TypedRateLimitingQueueConfig [kubestate. ResourceEvent ]{
204205 Name : "olmConfig" ,
205206 }),
206207
207208 csvCopyQueueSet : queueinformer .NewEmptyResourceQueueSet (),
208209 copiedCSVGCQueueSet : queueinformer .NewEmptyResourceQueueSet (),
209- apiServiceQueue : workqueue .NewTypedRateLimitingQueueWithConfig [any ](
210- workqueue .DefaultTypedControllerRateLimiter [any ](),
211- workqueue.TypedRateLimitingQueueConfig [any ]{
210+ apiServiceQueue : workqueue .NewTypedRateLimitingQueueWithConfig [kubestate. ResourceEvent ](
211+ workqueue .DefaultTypedControllerRateLimiter [kubestate. ResourceEvent ](),
212+ workqueue.TypedRateLimitingQueueConfig [kubestate. ResourceEvent ]{
212213 Name : "apiservice" ,
213214 }),
214215 resolver : config .strategyResolver ,
@@ -246,9 +247,9 @@ func newOperatorWithConfig(ctx context.Context, config *operatorConfig) (*Operat
246247 ).Operators ().V1alpha1 ().ClusterServiceVersions ()
247248 informersByNamespace [namespace ].CSVInformer = csvInformer
248249 op .lister .OperatorsV1alpha1 ().RegisterClusterServiceVersionLister (namespace , csvInformer .Lister ())
249- csvQueue := workqueue .NewTypedRateLimitingQueueWithConfig [any ](
250- workqueue .DefaultTypedControllerRateLimiter [any ](),
251- workqueue.TypedRateLimitingQueueConfig [any ]{
250+ csvQueue := workqueue .NewTypedRateLimitingQueueWithConfig [kubestate. ResourceEvent ](
251+ workqueue .DefaultTypedControllerRateLimiter [kubestate. ResourceEvent ](),
252+ workqueue.TypedRateLimitingQueueConfig [kubestate. ResourceEvent ]{
252253 Name : fmt .Sprintf ("%s/csv" , namespace ),
253254 })
254255 op .csvQueueSet .Set (namespace , csvQueue )
@@ -273,7 +274,11 @@ func newOperatorWithConfig(ctx context.Context, config *operatorConfig) (*Operat
273274 op .csvIndexers [namespace ] = csvIndexer
274275
275276 // Register separate queue for copying csvs
276- csvCopyQueue := workqueue .NewNamedRateLimitingQueue (workqueue .DefaultTypedControllerRateLimiter [any ](), fmt .Sprintf ("%s/csv-copy" , namespace ))
277+ csvCopyQueue := workqueue .NewTypedRateLimitingQueueWithConfig [kubestate.ResourceEvent ](
278+ workqueue .DefaultTypedControllerRateLimiter [kubestate.ResourceEvent ](),
279+ workqueue.TypedRateLimitingQueueConfig [kubestate.ResourceEvent ]{
280+ Name : fmt .Sprintf ("%s/csv-copy" , namespace ),
281+ })
277282 op .csvCopyQueueSet .Set (namespace , csvCopyQueue )
278283 csvCopyQueueInformer , err := queueinformer .NewQueueInformer (
279284 ctx ,
@@ -307,9 +312,9 @@ func newOperatorWithConfig(ctx context.Context, config *operatorConfig) (*Operat
307312 informersByNamespace [namespace ].CopiedCSVLister = op .copiedCSVLister
308313
309314 // Register separate queue for gcing copied csvs
310- copiedCSVGCQueue := workqueue .NewTypedRateLimitingQueueWithConfig [any ](
311- workqueue .DefaultTypedControllerRateLimiter [any ](),
312- workqueue.TypedRateLimitingQueueConfig [any ]{
315+ copiedCSVGCQueue := workqueue .NewTypedRateLimitingQueueWithConfig [kubestate. ResourceEvent ](
316+ workqueue .DefaultTypedControllerRateLimiter [kubestate. ResourceEvent ](),
317+ workqueue.TypedRateLimitingQueueConfig [kubestate. ResourceEvent ]{
313318 Name : fmt .Sprintf ("%s/csv-gc" , namespace ),
314319 })
315320 op .copiedCSVGCQueueSet .Set (namespace , copiedCSVGCQueue )
@@ -333,9 +338,9 @@ func newOperatorWithConfig(ctx context.Context, config *operatorConfig) (*Operat
333338 operatorGroupInformer := extInformerFactory .Operators ().V1 ().OperatorGroups ()
334339 informersByNamespace [namespace ].OperatorGroupInformer = operatorGroupInformer
335340 op .lister .OperatorsV1 ().RegisterOperatorGroupLister (namespace , operatorGroupInformer .Lister ())
336- ogQueue := workqueue .NewTypedRateLimitingQueueWithConfig [any ](
337- workqueue .DefaultTypedControllerRateLimiter [any ](),
338- workqueue.TypedRateLimitingQueueConfig [any ]{
341+ ogQueue := workqueue .NewTypedRateLimitingQueueWithConfig [kubestate. ResourceEvent ](
342+ workqueue .DefaultTypedControllerRateLimiter [kubestate. ResourceEvent ](),
343+ workqueue.TypedRateLimitingQueueConfig [kubestate. ResourceEvent ]{
339344 Name : fmt .Sprintf ("%s/og" , namespace ),
340345 })
341346 op .ogQueueSet .Set (namespace , ogQueue )
@@ -522,9 +527,12 @@ func newOperatorWithConfig(ctx context.Context, config *operatorConfig) (*Operat
522527 logger := op .logger .WithFields (logrus.Fields {"gvr" : gvr .String (), "index" : idx })
523528 logger .Info ("registering labeller" )
524529
525- queue := workqueue .NewTypedRateLimitingQueueWithConfig [any ](workqueue .DefaultTypedControllerRateLimiter [any ](), workqueue.TypedRateLimitingQueueConfig [any ]{
526- Name : gvr .String (),
527- })
530+ queue := workqueue .NewTypedRateLimitingQueueWithConfig [kubestate.ResourceEvent ](
531+ workqueue .DefaultTypedControllerRateLimiter [kubestate.ResourceEvent ](),
532+ workqueue.TypedRateLimitingQueueConfig [kubestate.ResourceEvent ]{
533+ Name : gvr .String (),
534+ },
535+ )
528536 queueInformer , err := queueinformer .NewQueueInformer (
529537 ctx ,
530538 queueinformer .WithQueue (queue ),
@@ -696,9 +704,9 @@ func newOperatorWithConfig(ctx context.Context, config *operatorConfig) (*Operat
696704 namespaceInformer := informers .NewSharedInformerFactory (op .opClient .KubernetesInterface (), config .resyncPeriod ()).Core ().V1 ().Namespaces ()
697705 informersByNamespace [metav1 .NamespaceAll ].NamespaceInformer = namespaceInformer
698706 op .lister .CoreV1 ().RegisterNamespaceLister (namespaceInformer .Lister ())
699- op .nsQueueSet = workqueue .NewTypedRateLimitingQueueWithConfig [any ](
700- workqueue .DefaultTypedControllerRateLimiter [any ](),
701- workqueue.TypedRateLimitingQueueConfig [any ]{
707+ op .nsQueueSet = workqueue .NewTypedRateLimitingQueueWithConfig [kubestate. ResourceEvent ](
708+ workqueue .DefaultTypedControllerRateLimiter [kubestate. ResourceEvent ](),
709+ workqueue.TypedRateLimitingQueueConfig [kubestate. ResourceEvent ]{
702710 Name : "resolver" ,
703711 })
704712 namespaceInformer .Informer ().AddEventHandler (
@@ -1665,7 +1673,7 @@ func (a *Operator) syncCopyCSV(obj interface{}) (syncError error) {
16651673 }
16661674
16671675 if err == nil {
1668- go a .olmConfigQueue .AddAfter (olmConfig , time .Second * 5 )
1676+ go a .olmConfigQueue .AddAfter (kubestate . NewUpdateEvent ( olmConfig ) , time .Second * 5 )
16691677 }
16701678
16711679 logger := a .logger .WithFields (logrus.Fields {
0 commit comments