Skip to content

Commit dc92a12

Browse files
timflannaganPer Goncalves da Silva
authored and
Per Goncalves da Silva
committed
catalog: Add an OG informer and register a lister
Signed-off-by: timflannagan <[email protected]> Upstream-repository: operator-lifecycle-manager Upstream-commit: 73a2b072172e34b036ebe9fa83b1a6a5bb3259a3
1 parent fc4ebfd commit dc92a12

File tree

2 files changed

+42
-0
lines changed
  • staging/operator-lifecycle-manager/pkg/controller/operators/catalog
  • vendor/github.com/operator-framework/operator-lifecycle-manager/pkg/controller/operators/catalog

2 files changed

+42
-0
lines changed

Diff for: staging/operator-lifecycle-manager/pkg/controller/operators/catalog/operator.go

+21
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ type Operator struct {
103103
catsrcQueueSet *queueinformer.ResourceQueueSet
104104
subQueueSet *queueinformer.ResourceQueueSet
105105
ipQueueSet *queueinformer.ResourceQueueSet
106+
ogQueueSet *queueinformer.ResourceQueueSet
106107
nsResolveQueue workqueue.RateLimitingInterface
107108
namespace string
108109
recorder record.EventRecorder
@@ -182,6 +183,7 @@ func NewOperator(ctx context.Context, kubeconfigPath string, clock utilclock.Clo
182183
catsrcQueueSet: queueinformer.NewEmptyResourceQueueSet(),
183184
subQueueSet: queueinformer.NewEmptyResourceQueueSet(),
184185
ipQueueSet: queueinformer.NewEmptyResourceQueueSet(),
186+
ogQueueSet: queueinformer.NewEmptyResourceQueueSet(),
185187
catalogSubscriberIndexer: map[string]cache.Indexer{},
186188
serviceAccountQuerier: scoped.NewUserDefinedServiceAccountQuerier(logger, crClient),
187189
clientAttenuator: scoped.NewClientAttenuator(logger, config, opClient),
@@ -256,6 +258,24 @@ func NewOperator(ctx context.Context, kubeconfigPath string, clock utilclock.Clo
256258
return nil, err
257259
}
258260

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+
259279
// Wire CatalogSources
260280
catsrcInformer := crInformerFactory.Operators().V1alpha1().CatalogSources()
261281
op.lister.OperatorsV1alpha1().RegisterCatalogSourceLister(metav1.NamespaceAll, catsrcInformer.Lister())
@@ -886,6 +906,7 @@ func (o *Operator) syncCatalogSources(obj interface{}) (syncError error) {
886906
func (o *Operator) isFailForwardEnabled(namespace string) (bool, error) {
887907
ogs, err := o.lister.OperatorsV1().OperatorGroupLister().OperatorGroups(namespace).List(labels.Everything())
888908
if err != nil {
909+
o.logger.Debugf("failed to list operatorgroups in the %s namespace: %v", namespace, err)
889910
// Couldn't list operatorGroups, assuming default upgradeStrategy
890911
// so existing behavior is observed for failed CSVs.
891912
return false, nil

Diff for: vendor/github.com/operator-framework/operator-lifecycle-manager/pkg/controller/operators/catalog/operator.go

+21
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)