Documentation ¶
Overview ¶
Note: the example only works with the code within the same release/branch.
Index ¶
- Variables
- type Objective
- type Scheduler
- func (s *Scheduler) DeleteAppWrapper(Name string) error
- func (s *Scheduler) GetAppWrappers()
- func (s *Scheduler) GetClustersInfo()
- func (s *Scheduler) IsValidAppWrapper(Job core.Job) error
- func (s *Scheduler) LPSolve(obj []float64) ([]SchedulingDecision, float64)
- func (s *Scheduler) Optimize(sustainable bool) []int
- func (s *Scheduler) PutHoldOnAppWrapper(Job core.Job) error
- func (s *Scheduler) RemoveGateFromAW(Job core.Job, TargetCluster string) error
- func (s *Scheduler) Schedule(optimizer string)
- type SchedulingDecision
Constants ¶
This section is empty.
Variables ¶
View Source
var AWResource = schema.GroupVersionResource{Group: mcadv1beta1.GroupVersion.Group, Version: mcadv1beta1.GroupVersion.Version, Resource: "appwrappers"}
Functions ¶
This section is empty.
Types ¶
type Scheduler ¶
type Scheduler struct { N int // number of jobs (AWs) (to be scheduled/rescheduled) M int // number of available clusters T int // length of time horizon (number of timeslots) PeriodLength int Jobs []core.Job // list of jobs Clusters []core.Cluster // spoke clusters // contains filtered or unexported fields }
func NewScheduler ¶
NewDispatcher : create a new dispather instance and configure the clients with kube_config and hub-context
func (*Scheduler) DeleteAppWrapper ¶
delete an AW
func (*Scheduler) GetAppWrappers ¶
func (s *Scheduler) GetAppWrappers()
retrive all Appwrappers in hub: running+ non-running AWs. Calculate requested resources of each AW. Save all AWs with their characteristics in Jobs array
func (*Scheduler) GetClustersInfo ¶
func (s *Scheduler) GetClustersInfo()
get all clusterinfos in hub
func (*Scheduler) IsValidAppWrapper ¶
find an AW
func (*Scheduler) LPSolve ¶
func (s *Scheduler) LPSolve(obj []float64) ([]SchedulingDecision, float64)
func (*Scheduler) PutHoldOnAppWrapper ¶
add sustainability gate from the appwrapper
func (*Scheduler) RemoveGateFromAW ¶
delete sustainability gate from the appwrapper and set the targetCluster
type SchedulingDecision ¶
type SchedulingDecision struct {
// contains filtered or unexported fields
}
Click to show internal directories.
Click to hide internal directories.