rescheduling

package
v1.8.0 Latest Latest
Warning

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

Go to latest
Published: Aug 8, 2023 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// PluginName indicates name of volcano scheduler plugin
	PluginName = "rescheduling"
	// DefaultInterval indicates the default interval rescheduling plugin works for
	DefaultInterval = 5 * time.Minute
	// DefaultMetricsPeriod indicates the default metrics period rescheduling plugin works for
	DefaultMetricsPeriod = "5m"
	// DefaultStrategy indicates the default strategy rescheduling plugin making use of
	DefaultStrategy = "lowNodeUtilization"
)

Variables

View Source
var (
	// Session contains all the data in session object which will be used for all the rescheduling package
	Session *framework.Session

	// RegisteredStrategyConfigs collects all the strategy configurations registered.
	RegisteredStrategyConfigs map[string]interface{}

	// VictimFn contains all the VictimTasksFn for registered the strategies
	VictimFn map[string]api.VictimTasksFn

	// MetricsPeriod indicates the metrics period will be used during this plugin. 5 minutes by default.
	MetricsPeriod string
)
View Source
var DefaultLowNodeConf = map[string]interface{}{
	"thresholds":                 map[string]float64{"cpu": 100, "memory": 100, "pods": 100},
	"targetThresholds":           map[string]float64{"cpu": 100, "memory": 100, "pods": 100},
	"thresholdPriorityClassName": "system-cluster-critical",
	"nodeFit":                    true,
}

DefaultLowNodeConf defines the default configuration for LNU strategy

Functions

func New

func New(arguments framework.Arguments) framework.Plugin

New function returns rescheduling plugin object

Types

type Configs

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

Configs is the struct for rescheduling plugin arguments

func NewReschedulingConfigs

func NewReschedulingConfigs() *Configs

NewReschedulingConfigs creates an object of rescheduling configurations with default configuration

type LowNodeUtilizationConf

type LowNodeUtilizationConf struct {
	Thresholds                 map[string]float64
	TargetThresholds           map[string]float64
	NumberOfNodes              int
	ThresholdPriority          int
	ThresholdPriorityClassName string
	NodeFit                    bool
}

func NewLowNodeUtilizationConf

func NewLowNodeUtilizationConf() *LowNodeUtilizationConf

NewLowNodeUtilizationConf returns the pointer of LowNodeUtilizationConf object with default value

type NodeUtilization

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

type Strategy

type Strategy struct {
	Name   string                 `json:"name"`
	Params map[string]interface{} `json:"params"`
}

Strategy is the struct for rescheduling strategy

Jump to

Keyboard shortcuts

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