resourcequota

package
v0.0.0-...-bf835f9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 9, 2016 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Overview

resourcequota contains a controller that makes resource quota usage observations

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ObjectReplenishmentDeleteFunc

func ObjectReplenishmentDeleteFunc(options *ReplenishmentControllerOptions) func(obj interface{})

ObjectReplenenishmentDeleteFunc will replenish on every delete

func PodReplenishmentUpdateFunc

func PodReplenishmentUpdateFunc(options *ReplenishmentControllerOptions) func(oldObj, newObj interface{})

PodReplenishmentUpdateFunc will replenish if the old pod was quota tracked but the new is not

func ServiceReplenishmentUpdateFunc

func ServiceReplenishmentUpdateFunc(options *ReplenishmentControllerOptions) func(oldObj, newObj interface{})

ServiceReplenishmentUpdateFunc will replenish if the old service was quota tracked but the new is not

Types

type ReplenishmentControllerFactory

type ReplenishmentControllerFactory interface {
	// NewController returns a controller configured with the specified options.
	// This method is NOT thread-safe.
	NewController(options *ReplenishmentControllerOptions) (framework.ControllerInterface, error)
}

ReplenishmentControllerFactory knows how to build replenishment controllers

func NewReplenishmentControllerFactory

func NewReplenishmentControllerFactory(podInformer framework.SharedInformer, kubeClient clientset.Interface) ReplenishmentControllerFactory

NewReplenishmentControllerFactory returns a factory that knows how to build controllers to replenish resources when updated or deleted

func NewReplenishmentControllerFactoryFromClient

func NewReplenishmentControllerFactoryFromClient(kubeClient clientset.Interface) ReplenishmentControllerFactory

type ReplenishmentControllerOptions

type ReplenishmentControllerOptions struct {
	// The kind monitored for replenishment
	GroupKind unversioned.GroupKind
	// The period that should be used to re-sync the monitored resource
	ResyncPeriod controller.ResyncPeriodFunc
	// The function to invoke when a change is observed that should trigger
	// replenishment
	ReplenishmentFunc ReplenishmentFunc
}

ReplenishmentControllerOptions is an options struct that tells a factory how to configure a controller that can inform the quota system it should replenish quota

type ReplenishmentFunc

type ReplenishmentFunc func(groupKind unversioned.GroupKind, namespace string, object runtime.Object)

ReplenishmentFunc is a function that is invoked when controller sees a change that may require a quota to be replenished (i.e. object deletion, or object moved to terminal state)

type ResourceQuotaController

type ResourceQuotaController struct {
	// contains filtered or unexported fields
}

ResourceQuotaController is responsible for tracking quota usage status in the system

func (*ResourceQuotaController) Run

func (rq *ResourceQuotaController) Run(workers int, stopCh <-chan struct{})

Run begins quota controller using the specified number of workers

type ResourceQuotaControllerOptions

type ResourceQuotaControllerOptions struct {
	// Must have authority to list all quotas, and update quota status
	KubeClient clientset.Interface
	// Controls full recalculation of quota usage
	ResyncPeriod controller.ResyncPeriodFunc
	// Knows how to calculate usage
	Registry quota.Registry
	// Knows how to build controllers that notify replenishment events
	ControllerFactory ReplenishmentControllerFactory
	// Controls full resync of objects monitored for replenihsment.
	ReplenishmentResyncPeriod controller.ResyncPeriodFunc
	// List of GroupKind objects that should be monitored for replenishment at
	// a faster frequency than the quota controller recalculation interval
	GroupKindsToReplenish []unversioned.GroupKind
}

ResourceQuotaControllerOptions holds options for creating a quota controller

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL