From c816601d83439c5f8c77b9e33128585b3efbf4f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20K=C5=99epinsk=C3=BD?= Date: Wed, 20 Sep 2023 17:18:55 +0200 Subject: [PATCH] reintroduce resourcequota.NewMonitor - this function is used by other packages and was mistakenly removed in 397cc73dc9b692d6f1f1d8dd841e062da3876ee7 - let resource quota controller use this constructor instead of an object instantiation --- .../resource_quota_controller.go | 19 +++++++++---------- .../resourcequota/resource_quota_monitor.go | 14 ++++++++++++++ 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/pkg/controller/resourcequota/resource_quota_controller.go b/pkg/controller/resourcequota/resource_quota_controller.go index 8b6292772c9..8eee7ef48c4 100644 --- a/pkg/controller/resourcequota/resource_quota_controller.go +++ b/pkg/controller/resourcequota/resource_quota_controller.go @@ -151,16 +151,15 @@ func NewController(ctx context.Context, options *ControllerOptions) (*Controller ) if options.DiscoveryFunc != nil { - qm := &QuotaMonitor{ - informersStarted: options.InformersStarted, - informerFactory: options.InformerFactory, - ignoredResources: options.IgnoredResourcesFunc(), - resourceChanges: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "resource_quota_controller_resource_changes"), - resyncPeriod: options.ReplenishmentResyncPeriod, - replenishmentFunc: rq.replenishQuota, - registry: rq.registry, - updateFilter: options.UpdateFilter, - } + qm := NewMonitor( + options.InformersStarted, + options.InformerFactory, + options.IgnoredResourcesFunc(), + options.ReplenishmentResyncPeriod, + rq.replenishQuota, + rq.registry, + options.UpdateFilter, + ) rq.quotaMonitor = qm diff --git a/pkg/controller/resourcequota/resource_quota_monitor.go b/pkg/controller/resourcequota/resource_quota_monitor.go index 34fba8a78ae..fc2c6b6382f 100644 --- a/pkg/controller/resourcequota/resource_quota_monitor.go +++ b/pkg/controller/resourcequota/resource_quota_monitor.go @@ -103,6 +103,20 @@ type QuotaMonitor struct { updateFilter UpdateFilter } +// NewMonitor creates a new instance of a QuotaMonitor +func NewMonitor(informersStarted <-chan struct{}, informerFactory informerfactory.InformerFactory, ignoredResources map[schema.GroupResource]struct{}, resyncPeriod controller.ResyncPeriodFunc, replenishmentFunc ReplenishmentFunc, registry quota.Registry, updateFilter UpdateFilter) *QuotaMonitor { + return &QuotaMonitor{ + informersStarted: informersStarted, + informerFactory: informerFactory, + ignoredResources: ignoredResources, + resourceChanges: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "resource_quota_controller_resource_changes"), + resyncPeriod: resyncPeriod, + replenishmentFunc: replenishmentFunc, + registry: registry, + updateFilter: updateFilter, + } +} + // monitor runs a Controller with a local stop channel. type monitor struct { controller cache.Controller