provisionpolicy

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Apr 28, 2024 License: Apache-2.0 Imports: 16 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetRegisteredInitializers

func GetRegisteredInitializers() map[types.CPUProvisionPolicyName]InitFunc

func RegisterInitializer

func RegisterInitializer(name types.CPUProvisionPolicyName, initFunc InitFunc)

Types

type InitFunc

type InitFunc func(regionName string, regionType types.QoSRegionType, ownerPoolName string,
	conf *config.Configuration, extraConfig interface{}, metaReader metacache.MetaReader,
	metaServer *metaserver.MetaServer, emitter metrics.MetricEmitter) ProvisionPolicy

type PolicyBase

type PolicyBase struct {
	types.ResourceEssentials
	types.ControlEssentials
	// contains filtered or unexported fields
}

func NewPolicyBase

func NewPolicyBase(regionName string, regionType types.QoSRegionType, ownerPoolName string,
	metaReader metacache.MetaReader, metaServer *metaserver.MetaServer, emitter metrics.MetricEmitter) *PolicyBase

func (*PolicyBase) GetControlKnobAdjusted added in v0.3.0

func (p *PolicyBase) GetControlKnobAdjusted() (types.ControlKnob, error)

func (*PolicyBase) SetBindingNumas

func (p *PolicyBase) SetBindingNumas(numas machine.CPUSet)

func (*PolicyBase) SetEssentials

func (p *PolicyBase) SetEssentials(resourceEssentials types.ResourceEssentials, controlEssentials types.ControlEssentials)

func (*PolicyBase) SetPodSet

func (p *PolicyBase) SetPodSet(podSet types.PodSet)

type PolicyCanonical

type PolicyCanonical struct {
	*PolicyBase
}

func (*PolicyCanonical) Update

func (p *PolicyCanonical) Update() error

type PolicyNone added in v0.4.0

type PolicyNone struct{}

func (*PolicyNone) GetControlKnobAdjusted added in v0.4.0

func (p *PolicyNone) GetControlKnobAdjusted() (types.ControlKnob, error)

func (*PolicyNone) SetBindingNumas added in v0.4.0

func (p *PolicyNone) SetBindingNumas(machine.CPUSet)

func (*PolicyNone) SetEssentials added in v0.4.0

func (*PolicyNone) SetPodSet added in v0.4.0

func (p *PolicyNone) SetPodSet(types.PodSet)

func (*PolicyNone) Update added in v0.4.0

func (p *PolicyNone) Update() error

type PolicyRama added in v0.3.0

type PolicyRama struct {
	*PolicyBase
	// contains filtered or unexported fields
}

func (*PolicyRama) Update added in v0.3.0

func (p *PolicyRama) Update() error

type ProvisionPolicy

type ProvisionPolicy interface {
	// SetEssentials set essentials for policy update
	SetEssentials(resourceEssentials types.ResourceEssentials, controlEssentials types.ControlEssentials)
	// SetPodSet overwrites policy's pod/container record
	SetPodSet(types.PodSet)
	// SetBindingNumas overwrites the numa ids this policy interested in
	SetBindingNumas(machine.CPUSet)

	// Update triggers an episode of algorithm update
	Update() error
	// GetControlKnobAdjusted returns the latest legal control knob value
	GetControlKnobAdjusted() (types.ControlKnob, error)
}

ProvisionPolicy generates resource provision result based on configured algorithm

func NewPolicyCanonical

func NewPolicyCanonical(regionName string, regionType types.QoSRegionType, ownerPoolName string,
	_ *config.Configuration, _ interface{}, metaReader metacache.MetaReader,
	metaServer *metaserver.MetaServer, emitter metrics.MetricEmitter) ProvisionPolicy

func NewPolicyNone added in v0.4.0

func NewPolicyRama added in v0.3.0

func NewPolicyRama(regionName string, regionType types.QoSRegionType, ownerPoolName string,
	conf *config.Configuration, _ interface{}, metaReader metacache.MetaReader,
	metaServer *metaserver.MetaServer, emitter metrics.MetricEmitter) ProvisionPolicy

Jump to

Keyboard shortcuts

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