Documentation
¶
Index ¶
- Constants
- func New(config *runtime.Unknown, handle framework.FrameworkHandle) (framework.Plugin, error)
- type Args
- type Data
- type Scheduling
- func (cs *Scheduling) CollectNodeIntsAndIps(node *v1.Node, state *framework.CycleState) *framework.Status
- func (cs *Scheduling) Filter(ctx context.Context, state *framework.CycleState, pod *v1.Pod, ...) *framework.Status
- func (cs *Scheduling) Less(podInfo1, podInfo2 *framework.PodInfo) bool
- func (cs *Scheduling) Name() string
- func (cs *Scheduling) NormalizeScore(ctx context.Context, state *framework.CycleState, p *v1.Pod, ...) *framework.Status
- func (cs *Scheduling) ParallelCollection(ctx context.Context, workers int, state *framework.CycleState, ...) *framework.Status
- func (cs *Scheduling) PreScore(ctx context.Context, state *framework.CycleState, pod *v1.Pod, ...) *framework.Status
- func (cs *Scheduling) Score(ctx context.Context, state *framework.CycleState, pod *v1.Pod, nodeName string) (int64, *framework.Status)
- func (cs *Scheduling) ScoreExtensions() framework.ScoreExtensions
Constants ¶
View Source
const ( // Name is the name of the plugin used in Registry and configurations. Name = "Scheduling" IpsWeight = 1 EnisWeigth = 1 )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Args ¶
type Args struct { allocator.OpenStackConf MaxInstanceIps int MaxInstanceEnis int }
Args defines the scheduling parameters for Scheduling plugin.
type Scheduling ¶
type Scheduling struct {
// contains filtered or unexported fields
}
Scheduling is a plugin that implements the mechanism of gang scheduling.
func (*Scheduling) CollectNodeIntsAndIps ¶
func (cs *Scheduling) CollectNodeIntsAndIps(node *v1.Node, state *framework.CycleState) *framework.Status
func (*Scheduling) Filter ¶
func (cs *Scheduling) Filter(ctx context.Context, state *framework.CycleState, pod *v1.Pod, nodeInfo *schedulernodeinfo.NodeInfo) *framework.Status
func (*Scheduling) Less ¶
func (cs *Scheduling) Less(podInfo1, podInfo2 *framework.PodInfo) bool
Less is used to sort pods in the scheduling queue. 1. Compare the priorities of Pods. 2. Compare the initialization timestamps of PodGroups/Pods. 3. Compare the keys of NameSpace/Pods, i.e., if two pods are tied at priority and creation time, the one without namespace will go ahead of the one with namespace.
func (*Scheduling) Name ¶
func (cs *Scheduling) Name() string
Name returns name of the plugin. It is used in logs, etc.
func (*Scheduling) NormalizeScore ¶
func (cs *Scheduling) NormalizeScore(ctx context.Context, state *framework.CycleState, p *v1.Pod, scores framework.NodeScoreList) *framework.Status
func (*Scheduling) ParallelCollection ¶
func (cs *Scheduling) ParallelCollection(ctx context.Context, workers int, state *framework.CycleState, nodes []*v1.Node) *framework.Status
func (*Scheduling) ScoreExtensions ¶
func (cs *Scheduling) ScoreExtensions() framework.ScoreExtensions
Click to show internal directories.
Click to hide internal directories.