8
8
"sync"
9
9
"time"
10
10
11
+ "github.com/operator-framework/operator-lifecycle-manager/pkg/lib/kubestate"
12
+
11
13
"github.com/operator-framework/operator-lifecycle-manager/pkg/controller/operators/labeller"
12
14
"github.com/operator-framework/operator-lifecycle-manager/pkg/controller/operators/olm/plugins"
13
15
"github.com/sirupsen/logrus"
@@ -83,11 +85,11 @@ type Operator struct {
83
85
copiedCSVLister metadatalister.Lister
84
86
ogQueueSet * queueinformer.ResourceQueueSet
85
87
csvQueueSet * queueinformer.ResourceQueueSet
86
- olmConfigQueue workqueue.TypedRateLimitingInterface [any ]
88
+ olmConfigQueue workqueue.TypedRateLimitingInterface [kubestate. ResourceEvent ]
87
89
csvCopyQueueSet * queueinformer.ResourceQueueSet
88
90
copiedCSVGCQueueSet * queueinformer.ResourceQueueSet
89
- nsQueueSet workqueue.TypedRateLimitingInterface [any ]
90
- apiServiceQueue workqueue.TypedRateLimitingInterface [any ]
91
+ nsQueueSet workqueue.TypedRateLimitingInterface [kubestate. ResourceEvent ]
92
+ apiServiceQueue workqueue.TypedRateLimitingInterface [kubestate. ResourceEvent ]
91
93
csvIndexers map [string ]cache.Indexer
92
94
recorder record.EventRecorder
93
95
resolver install.StrategyResolverInterface
@@ -198,17 +200,17 @@ func newOperatorWithConfig(ctx context.Context, config *operatorConfig) (*Operat
198
200
client : config .externalClient ,
199
201
ogQueueSet : queueinformer .NewEmptyResourceQueueSet (),
200
202
csvQueueSet : queueinformer .NewEmptyResourceQueueSet (),
201
- olmConfigQueue : workqueue .NewTypedRateLimitingQueueWithConfig [any ](
202
- workqueue .DefaultTypedControllerRateLimiter [any ](),
203
- workqueue.TypedRateLimitingQueueConfig [any ]{
203
+ olmConfigQueue : workqueue .NewTypedRateLimitingQueueWithConfig [kubestate. ResourceEvent ](
204
+ workqueue .DefaultTypedControllerRateLimiter [kubestate. ResourceEvent ](),
205
+ workqueue.TypedRateLimitingQueueConfig [kubestate. ResourceEvent ]{
204
206
Name : "olmConfig" ,
205
207
}),
206
208
207
209
csvCopyQueueSet : queueinformer .NewEmptyResourceQueueSet (),
208
210
copiedCSVGCQueueSet : queueinformer .NewEmptyResourceQueueSet (),
209
- apiServiceQueue : workqueue .NewTypedRateLimitingQueueWithConfig [any ](
210
- workqueue .DefaultTypedControllerRateLimiter [any ](),
211
- workqueue.TypedRateLimitingQueueConfig [any ]{
211
+ apiServiceQueue : workqueue .NewTypedRateLimitingQueueWithConfig [kubestate. ResourceEvent ](
212
+ workqueue .DefaultTypedControllerRateLimiter [kubestate. ResourceEvent ](),
213
+ workqueue.TypedRateLimitingQueueConfig [kubestate. ResourceEvent ]{
212
214
Name : "apiservice" ,
213
215
}),
214
216
resolver : config .strategyResolver ,
@@ -246,9 +248,9 @@ func newOperatorWithConfig(ctx context.Context, config *operatorConfig) (*Operat
246
248
).Operators ().V1alpha1 ().ClusterServiceVersions ()
247
249
informersByNamespace [namespace ].CSVInformer = csvInformer
248
250
op .lister .OperatorsV1alpha1 ().RegisterClusterServiceVersionLister (namespace , csvInformer .Lister ())
249
- csvQueue := workqueue .NewTypedRateLimitingQueueWithConfig [any ](
250
- workqueue .DefaultTypedControllerRateLimiter [any ](),
251
- workqueue.TypedRateLimitingQueueConfig [any ]{
251
+ csvQueue := workqueue .NewTypedRateLimitingQueueWithConfig [kubestate. ResourceEvent ](
252
+ workqueue .DefaultTypedControllerRateLimiter [kubestate. ResourceEvent ](),
253
+ workqueue.TypedRateLimitingQueueConfig [kubestate. ResourceEvent ]{
252
254
Name : fmt .Sprintf ("%s/csv" , namespace ),
253
255
})
254
256
op .csvQueueSet .Set (namespace , csvQueue )
@@ -273,7 +275,11 @@ func newOperatorWithConfig(ctx context.Context, config *operatorConfig) (*Operat
273
275
op .csvIndexers [namespace ] = csvIndexer
274
276
275
277
// Register separate queue for copying csvs
276
- csvCopyQueue := workqueue .NewNamedRateLimitingQueue (workqueue .DefaultTypedControllerRateLimiter [any ](), fmt .Sprintf ("%s/csv-copy" , namespace ))
278
+ csvCopyQueue := workqueue .NewTypedRateLimitingQueueWithConfig [kubestate.ResourceEvent ](
279
+ workqueue .DefaultTypedControllerRateLimiter [kubestate.ResourceEvent ](),
280
+ workqueue.TypedRateLimitingQueueConfig [kubestate.ResourceEvent ]{
281
+ Name : fmt .Sprintf ("%s/csv-copy" , namespace ),
282
+ })
277
283
op .csvCopyQueueSet .Set (namespace , csvCopyQueue )
278
284
csvCopyQueueInformer , err := queueinformer .NewQueueInformer (
279
285
ctx ,
@@ -307,9 +313,9 @@ func newOperatorWithConfig(ctx context.Context, config *operatorConfig) (*Operat
307
313
informersByNamespace [namespace ].CopiedCSVLister = op .copiedCSVLister
308
314
309
315
// Register separate queue for gcing copied csvs
310
- copiedCSVGCQueue := workqueue .NewTypedRateLimitingQueueWithConfig [any ](
311
- workqueue .DefaultTypedControllerRateLimiter [any ](),
312
- workqueue.TypedRateLimitingQueueConfig [any ]{
316
+ copiedCSVGCQueue := workqueue .NewTypedRateLimitingQueueWithConfig [kubestate. ResourceEvent ](
317
+ workqueue .DefaultTypedControllerRateLimiter [kubestate. ResourceEvent ](),
318
+ workqueue.TypedRateLimitingQueueConfig [kubestate. ResourceEvent ]{
313
319
Name : fmt .Sprintf ("%s/csv-gc" , namespace ),
314
320
})
315
321
op .copiedCSVGCQueueSet .Set (namespace , copiedCSVGCQueue )
@@ -333,9 +339,9 @@ func newOperatorWithConfig(ctx context.Context, config *operatorConfig) (*Operat
333
339
operatorGroupInformer := extInformerFactory .Operators ().V1 ().OperatorGroups ()
334
340
informersByNamespace [namespace ].OperatorGroupInformer = operatorGroupInformer
335
341
op .lister .OperatorsV1 ().RegisterOperatorGroupLister (namespace , operatorGroupInformer .Lister ())
336
- ogQueue := workqueue .NewTypedRateLimitingQueueWithConfig [any ](
337
- workqueue .DefaultTypedControllerRateLimiter [any ](),
338
- workqueue.TypedRateLimitingQueueConfig [any ]{
342
+ ogQueue := workqueue .NewTypedRateLimitingQueueWithConfig [kubestate. ResourceEvent ](
343
+ workqueue .DefaultTypedControllerRateLimiter [kubestate. ResourceEvent ](),
344
+ workqueue.TypedRateLimitingQueueConfig [kubestate. ResourceEvent ]{
339
345
Name : fmt .Sprintf ("%s/og" , namespace ),
340
346
})
341
347
op .ogQueueSet .Set (namespace , ogQueue )
@@ -522,9 +528,12 @@ func newOperatorWithConfig(ctx context.Context, config *operatorConfig) (*Operat
522
528
logger := op .logger .WithFields (logrus.Fields {"gvr" : gvr .String (), "index" : idx })
523
529
logger .Info ("registering labeller" )
524
530
525
- queue := workqueue .NewTypedRateLimitingQueueWithConfig [any ](workqueue .DefaultTypedControllerRateLimiter [any ](), workqueue.TypedRateLimitingQueueConfig [any ]{
526
- Name : gvr .String (),
527
- })
531
+ queue := workqueue .NewTypedRateLimitingQueueWithConfig [kubestate.ResourceEvent ](
532
+ workqueue .DefaultTypedControllerRateLimiter [kubestate.ResourceEvent ](),
533
+ workqueue.TypedRateLimitingQueueConfig [kubestate.ResourceEvent ]{
534
+ Name : gvr .String (),
535
+ },
536
+ )
528
537
queueInformer , err := queueinformer .NewQueueInformer (
529
538
ctx ,
530
539
queueinformer .WithQueue (queue ),
@@ -696,9 +705,9 @@ func newOperatorWithConfig(ctx context.Context, config *operatorConfig) (*Operat
696
705
namespaceInformer := informers .NewSharedInformerFactory (op .opClient .KubernetesInterface (), config .resyncPeriod ()).Core ().V1 ().Namespaces ()
697
706
informersByNamespace [metav1 .NamespaceAll ].NamespaceInformer = namespaceInformer
698
707
op .lister .CoreV1 ().RegisterNamespaceLister (namespaceInformer .Lister ())
699
- op .nsQueueSet = workqueue .NewTypedRateLimitingQueueWithConfig [any ](
700
- workqueue .DefaultTypedControllerRateLimiter [any ](),
701
- workqueue.TypedRateLimitingQueueConfig [any ]{
708
+ op .nsQueueSet = workqueue .NewTypedRateLimitingQueueWithConfig [kubestate. ResourceEvent ](
709
+ workqueue .DefaultTypedControllerRateLimiter [kubestate. ResourceEvent ](),
710
+ workqueue.TypedRateLimitingQueueConfig [kubestate. ResourceEvent ]{
702
711
Name : "resolver" ,
703
712
})
704
713
namespaceInformer .Informer ().AddEventHandler (
@@ -1665,7 +1674,7 @@ func (a *Operator) syncCopyCSV(obj interface{}) (syncError error) {
1665
1674
}
1666
1675
1667
1676
if err == nil {
1668
- go a .olmConfigQueue .AddAfter (olmConfig , time .Second * 5 )
1677
+ go a .olmConfigQueue .AddAfter (kubestate . NewUpdateEvent ( olmConfig ) , time .Second * 5 )
1669
1678
}
1670
1679
1671
1680
logger := a .logger .WithFields (logrus.Fields {
0 commit comments