func (a *originQuotaAdmission) SetOpenshiftClient(osClient osclient.Interface) { registry := quota.NewRegistry(osClient, true) quotaAdmission, err := resourcequota.NewResourceQuota(a.kClient, registry) if err != nil { glog.Fatalf("failed to initialize %s plugin: %v", pluginName, err) } a.kQuotaAdmission = quotaAdmission }
// RunResourceQuotaManager starts resource quota controller for OpenShift resources func (c *MasterConfig) RunResourceQuotaManager(cm *cmapp.CMServer) { concurrentResourceQuotaSyncs := defaultConcurrentResourceQuotaSyncs resourceQuotaSyncPeriod := defaultResourceQuotaSyncPeriod replenishmentSyncPeriodFunc := controller.StaticResyncPeriodFunc(defaultReplenishmentSyncPeriod) if cm != nil { // TODO: should these be part of os master config? concurrentResourceQuotaSyncs = cm.ConcurrentResourceQuotaSyncs resourceQuotaSyncPeriod = cm.ResourceQuotaSyncPeriod.Duration replenishmentSyncPeriodFunc = kctrlmgr.ResyncPeriod(cm) } osClient, kClient := c.ResourceQuotaManagerClients() resourceQuotaRegistry := quota.NewRegistry(osClient, false) resourceQuotaControllerOptions := &kresourcequota.ResourceQuotaControllerOptions{ KubeClient: kClient, ResyncPeriod: controller.StaticResyncPeriodFunc(resourceQuotaSyncPeriod), Registry: resourceQuotaRegistry, GroupKindsToReplenish: []unversioned.GroupKind{imageapi.Kind("ImageStream")}, ControllerFactory: quotacontroller.NewReplenishmentControllerFactory(osClient), ReplenishmentResyncPeriod: replenishmentSyncPeriodFunc, } go kresourcequota.NewResourceQuotaController(resourceQuotaControllerOptions).Run(concurrentResourceQuotaSyncs, utilwait.NeverStop) }