@@ -103,6 +103,7 @@ type Operator struct {
103
103
catsrcQueueSet * queueinformer.ResourceQueueSet
104
104
subQueueSet * queueinformer.ResourceQueueSet
105
105
ipQueueSet * queueinformer.ResourceQueueSet
106
+ ogQueueSet * queueinformer.ResourceQueueSet
106
107
nsResolveQueue workqueue.RateLimitingInterface
107
108
namespace string
108
109
recorder record.EventRecorder
@@ -182,6 +183,7 @@ func NewOperator(ctx context.Context, kubeconfigPath string, clock utilclock.Clo
182
183
catsrcQueueSet : queueinformer .NewEmptyResourceQueueSet (),
183
184
subQueueSet : queueinformer .NewEmptyResourceQueueSet (),
184
185
ipQueueSet : queueinformer .NewEmptyResourceQueueSet (),
186
+ ogQueueSet : queueinformer .NewEmptyResourceQueueSet (),
185
187
catalogSubscriberIndexer : map [string ]cache.Indexer {},
186
188
serviceAccountQuerier : scoped .NewUserDefinedServiceAccountQuerier (logger , crClient ),
187
189
clientAttenuator : scoped .NewClientAttenuator (logger , config , opClient ),
@@ -256,6 +258,24 @@ func NewOperator(ctx context.Context, kubeconfigPath string, clock utilclock.Clo
256
258
return nil , err
257
259
}
258
260
261
+ operatorGroupInformer := crInformerFactory .Operators ().V1 ().OperatorGroups ()
262
+ op .lister .OperatorsV1 ().RegisterOperatorGroupLister (metav1 .NamespaceAll , operatorGroupInformer .Lister ())
263
+ ogQueue := workqueue .NewNamedRateLimitingQueue (workqueue .DefaultControllerRateLimiter (), "ogs" )
264
+ op .ogQueueSet .Set (metav1 .NamespaceAll , ogQueue )
265
+ operatorGroupQueueInformer , err := queueinformer .NewQueueInformer (
266
+ ctx ,
267
+ queueinformer .WithLogger (op .logger ),
268
+ queueinformer .WithQueue (ogQueue ),
269
+ queueinformer .WithInformer (operatorGroupInformer .Informer ()),
270
+ queueinformer .WithSyncer (queueinformer .LegacySyncHandler (op .syncResolvingNamespace ).ToSyncer ()),
271
+ )
272
+ if err != nil {
273
+ return nil , err
274
+ }
275
+ if err := op .RegisterQueueInformer (operatorGroupQueueInformer ); err != nil {
276
+ return nil , err
277
+ }
278
+
259
279
// Wire CatalogSources
260
280
catsrcInformer := crInformerFactory .Operators ().V1alpha1 ().CatalogSources ()
261
281
op .lister .OperatorsV1alpha1 ().RegisterCatalogSourceLister (metav1 .NamespaceAll , catsrcInformer .Lister ())
@@ -886,6 +906,7 @@ func (o *Operator) syncCatalogSources(obj interface{}) (syncError error) {
886
906
func (o * Operator ) isFailForwardEnabled (namespace string ) (bool , error ) {
887
907
ogs , err := o .lister .OperatorsV1 ().OperatorGroupLister ().OperatorGroups (namespace ).List (labels .Everything ())
888
908
if err != nil {
909
+ o .logger .Debugf ("failed to list operatorgroups in the %s namespace: %v" , namespace , err )
889
910
// Couldn't list operatorGroups, assuming default upgradeStrategy
890
911
// so existing behavior is observed for failed CSVs.
891
912
return false , nil
0 commit comments