Merge pull request #120777 from atiratree/reintroduce-resource-quota-monitor

reintroduce resourcequota.NewMonitor
This commit is contained in:
Kubernetes Prow Robot 2023-09-20 21:22:25 -07:00 committed by GitHub
commit bf421d52f2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 10 deletions

View File

@ -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

View File

@ -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