Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // This error is returned from the step at any time when the step should be skipped. ErrStepSkipped = errors.New("step skipped") )
View Source
var SupportedSteps = []Step{ &plugins.DemoStep{}, }
Configuration of steps supported by the descheduler. The steps actually used by the scheduler are defined through the configuration file.
Functions ¶
This section is empty.
Types ¶
type CycleDetector ¶
type CycleDetector interface {
// Filter descheduling decisions to avoid cycles.
Filter(ctx context.Context, vmIDs []string) ([]string, error)
}
func NewCycleDetector ¶
func NewCycleDetector(novaAPI NovaAPI, config conf.DeschedulerConfig) CycleDetector
type Executor ¶
type Executor interface {
// Deschedule the vm ids provided.
Deschedule(ctx context.Context, vmIDs []string) error
}
func NewExecutor ¶
func NewExecutor(novaAPI NovaAPI, m Monitor, config conf.DeschedulerConfig) Executor
Create a new executor for the Nova descheduler.
type Monitor ¶
type Monitor struct {
// contains filtered or unexported fields
}
func NewPipelineMonitor ¶
func NewPipelineMonitor(registry *monitoring.Registry) Monitor
type NovaAPI ¶
type NovaAPI interface {
// Initialize the Nova API with the Keystone authentication.
Init(ctx context.Context)
// Get a server by ID.
Get(ctx context.Context, id string) (server, error)
// Live migrate a server to a new host (doesnt wait for it to complete).
LiveMigrate(ctx context.Context, id string) error
// Get migrations for a server by ID.
GetServerMigrations(ctx context.Context, id string) ([]migration, error)
}
func NewNovaAPI ¶
func NewNovaAPI(keystoneAPI keystone.KeystoneAPI, conf conf.NovaDeschedulerConfig) NovaAPI
type Pipeline ¶
type Pipeline struct {
// contains filtered or unexported fields
}
func NewDescheduler ¶
func NewDescheduler(config conf.DeschedulerConfig, m Monitor, keystoneAPI keystone.KeystoneAPI) *Pipeline
func (*Pipeline) DeschedulePeriodically ¶
type StepMonitor ¶
type StepMonitor struct {
// contains filtered or unexported fields
}
func (StepMonitor) GetName ¶
func (m StepMonitor) GetName() string
Get the name of the step being monitored.
func (StepMonitor) Run ¶
func (m StepMonitor) Run() ([]string, error)
Run the step and measure its execution time.
Source Files
¶
Click to show internal directories.
Click to hide internal directories.