Documentation
¶
Index ¶
- type AntiAffinityNoisyProjectsStep
- type AntiAffinityNoisyProjectsStepOpts
- type AvoidLongTermContendedHostsStep
- type AvoidLongTermContendedHostsStepOpts
- type AvoidShortTermContendedHostsStep
- type AvoidShortTermContendedHostsStepOpts
- type GeneralPurposeBalancingStep
- type GeneralPurposeBalancingStepOpts
- type HanaBinpackingStep
- type HanaBinpackingStepOpts
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AntiAffinityNoisyProjectsStep ¶
type AntiAffinityNoisyProjectsStep struct {
// BaseStep is a helper struct that provides common functionality for all steps.
lib.BaseStep[api.ExternalSchedulerRequest, AntiAffinityNoisyProjectsStepOpts]
}
Step to avoid noisy projects by downvoting the hosts they are running on.
func (*AntiAffinityNoisyProjectsStep) Run ¶
func (s *AntiAffinityNoisyProjectsStep) Run(traceLog *slog.Logger, request api.ExternalSchedulerRequest) (*lib.StepResult, error)
Downvote the hosts a project is currently running on if it's noisy.
type AntiAffinityNoisyProjectsStepOpts ¶
type AntiAffinityNoisyProjectsStepOpts struct {
AvgCPUUsageLowerBound float64 `json:"avgCPUUsageLowerBound"` // -> mapped to ActivationLowerBound
AvgCPUUsageUpperBound float64 `json:"avgCPUUsageUpperBound"` // -> mapped to ActivationUpperBound
AvgCPUUsageActivationLowerBound float64 `json:"avgCPUUsageActivationLowerBound"`
AvgCPUUsageActivationUpperBound float64 `json:"avgCPUUsageActivationUpperBound"`
}
Options for the scheduling step, given through the step config in the service yaml file. Use the options contained in this struct to configure the bounds for min-max scaling.
func (AntiAffinityNoisyProjectsStepOpts) Validate ¶
func (o AntiAffinityNoisyProjectsStepOpts) Validate() error
type AvoidLongTermContendedHostsStep ¶
type AvoidLongTermContendedHostsStep struct {
// BaseStep is a helper struct that provides common functionality for all steps.
lib.BaseStep[api.ExternalSchedulerRequest, AvoidLongTermContendedHostsStepOpts]
}
Step to avoid long term contended hosts by downvoting them.
func (*AvoidLongTermContendedHostsStep) Run ¶
func (s *AvoidLongTermContendedHostsStep) Run(traceLog *slog.Logger, request api.ExternalSchedulerRequest) (*lib.StepResult, error)
Downvote hosts that are highly contended.
type AvoidLongTermContendedHostsStepOpts ¶
type AvoidLongTermContendedHostsStepOpts struct {
AvgCPUContentionLowerBound float64 `json:"avgCPUContentionLowerBound"` // -> mapped to ActivationLowerBound
AvgCPUContentionUpperBound float64 `json:"avgCPUContentionUpperBound"` // -> mapped to ActivationUpperBound
AvgCPUContentionActivationLowerBound float64 `json:"avgCPUContentionActivationLowerBound"`
AvgCPUContentionActivationUpperBound float64 `json:"avgCPUContentionActivationUpperBound"`
MaxCPUContentionLowerBound float64 `json:"maxCPUContentionLowerBound"` // -> mapped to ActivationLowerBound
MaxCPUContentionUpperBound float64 `json:"maxCPUContentionUpperBound"` // -> mapped to ActivationUpperBound
MaxCPUContentionActivationLowerBound float64 `json:"maxCPUContentionActivationLowerBound"`
MaxCPUContentionActivationUpperBound float64 `json:"maxCPUContentionActivationUpperBound"`
}
Options for the scheduling step, given through the step config in the service yaml file.
func (AvoidLongTermContendedHostsStepOpts) Validate ¶
func (o AvoidLongTermContendedHostsStepOpts) Validate() error
type AvoidShortTermContendedHostsStep ¶
type AvoidShortTermContendedHostsStep struct {
// BaseStep is a helper struct that provides common functionality for all steps.
lib.BaseStep[api.ExternalSchedulerRequest, AvoidShortTermContendedHostsStepOpts]
}
Step to avoid recently contended hosts by downvoting them.
func (*AvoidShortTermContendedHostsStep) Run ¶
func (s *AvoidShortTermContendedHostsStep) Run(traceLog *slog.Logger, request api.ExternalSchedulerRequest) (*lib.StepResult, error)
Downvote hosts that are highly contended.
type AvoidShortTermContendedHostsStepOpts ¶
type AvoidShortTermContendedHostsStepOpts struct {
AvgCPUContentionLowerBound float64 `json:"avgCPUContentionLowerBound"` // -> mapped to ActivationLowerBound
AvgCPUContentionUpperBound float64 `json:"avgCPUContentionUpperBound"` // -> mapped to ActivationUpperBound
AvgCPUContentionActivationLowerBound float64 `json:"avgCPUContentionActivationLowerBound"`
AvgCPUContentionActivationUpperBound float64 `json:"avgCPUContentionActivationUpperBound"`
MaxCPUContentionLowerBound float64 `json:"maxCPUContentionLowerBound"` // -> mapped to ActivationLowerBound
MaxCPUContentionUpperBound float64 `json:"maxCPUContentionUpperBound"` // -> mapped to ActivationUpperBound
MaxCPUContentionActivationLowerBound float64 `json:"maxCPUContentionActivationLowerBound"`
MaxCPUContentionActivationUpperBound float64 `json:"maxCPUContentionActivationUpperBound"`
}
Options for the scheduling step, given through the step config in the service yaml file.
func (AvoidShortTermContendedHostsStepOpts) Validate ¶
func (o AvoidShortTermContendedHostsStepOpts) Validate() error
type GeneralPurposeBalancingStep ¶
type GeneralPurposeBalancingStep struct {
// BaseStep is a helper struct that provides common functionality for all steps.
scheduling.BaseStep[api.ExternalSchedulerRequest, GeneralPurposeBalancingStepOpts]
}
Step to balance VMs on hosts based on the host's available resources.
func (*GeneralPurposeBalancingStep) Run ¶
func (s *GeneralPurposeBalancingStep) Run(traceLog *slog.Logger, request api.ExternalSchedulerRequest) (*scheduling.StepResult, error)
Pack VMs on hosts based on their flavor.
type GeneralPurposeBalancingStepOpts ¶
type GeneralPurposeBalancingStepOpts struct {
RAMUtilizedLowerBoundPct float64 `json:"ramUtilizedLowerBoundPct"` // -> mapped to ActivationLowerBound
RAMUtilizedUpperBoundPct float64 `json:"ramUtilizedUpperBoundPct"` // -> mapped to ActivationUpperBound
RAMUtilizedActivationLowerBound float64 `json:"ramUtilizedActivationLowerBound"`
RAMUtilizedActivationUpperBound float64 `json:"ramUtilizedActivationUpperBound"`
}
Options for the scheduling step, given through the step config in the service yaml file.
func (GeneralPurposeBalancingStepOpts) Validate ¶
func (o GeneralPurposeBalancingStepOpts) Validate() error
type HanaBinpackingStep ¶
type HanaBinpackingStep struct {
// BaseStep is a helper struct that provides common functionality for all steps.
scheduling.BaseStep[api.ExternalSchedulerRequest, HanaBinpackingStepOpts]
}
Step to balance VMs on hosts based on the host's available resources.
func (*HanaBinpackingStep) Run ¶
func (s *HanaBinpackingStep) Run(traceLog *slog.Logger, request api.ExternalSchedulerRequest) (*scheduling.StepResult, error)
Pack VMs on hosts based on their flavor.
type HanaBinpackingStepOpts ¶
type HanaBinpackingStepOpts struct {
RAMUtilizedAfterLowerBoundPct float64 `json:"ramUtilizedAfterLowerBoundPct"` // -> mapped to ActivationLowerBound
RAMUtilizedAfterUpperBoundPct float64 `json:"ramUtilizedAfterUpperBoundPct"` // -> mapped to ActivationUpperBound
RAMUtilizedAfterActivationLowerBound float64 `json:"ramUtilizedAfterActivationLowerBound"`
RAMUtilizedAfterActivationUpperBound float64 `json:"ramUtilizedAfterActivationUpperBound"`
}
Options for the scheduling step, given through the step config in the service yaml file.
func (HanaBinpackingStepOpts) Validate ¶
func (o HanaBinpackingStepOpts) Validate() error