aaq_evaluator

package
v1.1.4 Latest Latest
Warning

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

Go to latest
Published: Feb 1, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AaqCalculatorsRegistry

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

func NewAaqCalculatorsRegistry

func NewAaqCalculatorsRegistry(retriesOnMatchFailure int, clock clock.Clock) *AaqCalculatorsRegistry

func (*AaqCalculatorsRegistry) AddBuiltInCalculator

func (aaqe *AaqCalculatorsRegistry) AddBuiltInCalculator(id string, usageCalculator UsageCalculator) *AaqCalculatorsRegistry

func (*AaqCalculatorsRegistry) Usage

func (aaqe *AaqCalculatorsRegistry) Usage(item runtime.Object, items []runtime.Object) (rlToRet corev1.ResourceList, acceptedErr error)

type AaqEvaluator

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

func NewAaqEvaluator

func NewAaqEvaluator(podInformer cache.SharedIndexInformer, aaqAppUsageCalculator *AaqCalculatorsRegistry, clock clock.Clock) *AaqEvaluator

NewAaqEvaluator returns an evaluator that can evaluate pods with apps consideration

func (*AaqEvaluator) CalculatorUsage

func (aaqe *AaqEvaluator) CalculatorUsage(item runtime.Object, items []runtime.Object) (corev1.ResourceList, error)

func (*AaqEvaluator) Constraints

func (aaqe *AaqEvaluator) Constraints(_ []corev1.ResourceName, _ runtime.Object) error

func (*AaqEvaluator) GroupResource

func (aaqe *AaqEvaluator) GroupResource() schema.GroupResource

func (*AaqEvaluator) Handles

func (aaqe *AaqEvaluator) Handles(operation admission.Attributes) bool

func (*AaqEvaluator) Matches

func (aaqe *AaqEvaluator) Matches(resourceQuota *corev1.ResourceQuota, item runtime.Object) (bool, error)

func (*AaqEvaluator) MatchingResources

func (aaqe *AaqEvaluator) MatchingResources(input []corev1.ResourceName) []corev1.ResourceName

func (*AaqEvaluator) UncoveredQuotaScopes

func (*AaqEvaluator) Usage

func (aaqe *AaqEvaluator) Usage(item runtime.Object) (corev1.ResourceList, error)

func (*AaqEvaluator) UsageStats

func (aaqe *AaqEvaluator) UsageStats(options v12.UsageStatsOptions) (v12.UsageStats, error)

UsageStats calculates aggregate usage for the object.

type UsageCalculator

type UsageCalculator interface {
	// Usage returns the resource usage for the specified object
	PodUsageFunc(item runtime.Object, items []runtime.Object, clock clock.Clock) (corev1.ResourceList, error, bool)
}

UsageCalculator knows how to evaluate quota usage for a particular app pods

Jump to

Keyboard shortcuts

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