Documentation
¶
Index ¶
- func BuildBestEffortPod(namespace, name, nodeName string, p v1.PodPhase, groupName string, ...) *v1.Pod
- func BuildDynamicPVC(namespace, name string, req v1.ResourceList) (*v1.PersistentVolumeClaim, *v1.PersistentVolume, *storagev1.StorageClass)
- func BuildNode(name string, alloc v1.ResourceList, labels map[string]string) *v1.Node
- func BuildPod(namespace, name, nodeName string, p v1.PodPhase, req v1.ResourceList, ...) *v1.Pod
- func BuildPodGroup(name, ns, queue string, minMember int32, taskMinMember map[string]int32, ...) *schedulingv1beta1.PodGroup
- func BuildPodGroupWithAnno(name, ns, queue string, minMember int32, taskMinMember map[string]int32, ...) *schedulingv1beta1.PodGroup
- func BuildPodGroupWithMinResources(name, ns, queue string, minMember int32, taskMinMember map[string]int32, ...) *schedulingv1beta1.PodGroup
- func BuildPodGroupWithPrio(name, ns, queue string, minMember int32, taskMinMember map[string]int32, ...) *schedulingv1beta1.PodGroup
- func BuildPodWithPVC(namespace, name, nodename string, p v1.PodPhase, req v1.ResourceList, ...) *v1.Pod
- func BuildPodWithPreeemptionPolicy(namespace, name, nodeName string, p v1.PodPhase, req v1.ResourceList, ...) *v1.Pod
- func BuildPodWithPriority(namespace, name, nodeName string, p v1.PodPhase, req v1.ResourceList, ...) *v1.Pod
- func BuildPriorityClass(name string, value int32) *schedulingv1.PriorityClass
- func BuildPriorityClassWithPreemptionPolicy(name string, value int32, preemptionPolicy v1.PreemptionPolicy) *schedulingv1.PriorityClass
- func BuildQueue(qname string, weight int32, cap v1.ResourceList) *schedulingv1beta1.Queue
- func BuildQueueWithAnnos(qname string, weight int32, cap v1.ResourceList, annos map[string]string) *schedulingv1beta1.Queue
- func BuildQueueWithPriorityAndResourcesQuantity(qname string, priority int32, deserved, cap v1.ResourceList) *schedulingv1beta1.Queue
- func BuildQueueWithResourcesQuantity(qname string, deserved, cap v1.ResourceList) *schedulingv1beta1.Queue
- func BuildResourceQuota(name, ns string, hard v1.ResourceList) *v1.ResourceQuota
- func CalculateNumOfFeasibleNodesToFind(numAllNodes int32) (numNodes int32)
- func ConvertRes2ResList(res *api.Resource) v1.ResourceList
- func GetMinInt(vals ...int) int
- func GetNodeList(nodes map[string]*api.NodeInfo, nodeList []string) []*api.NodeInfo
- func PrioritizeNodes(task *api.TaskInfo, nodes []*api.NodeInfo, batchFn api.BatchNodeOrderFn, ...) map[float64][]*api.NodeInfo
- func SelectBestNode(nodeScores map[float64][]*api.NodeInfo) *api.NodeInfo
- func SortNodes(nodeScores map[float64][]*api.NodeInfo) []*api.NodeInfo
- func ValidateVictims(preemptor *api.TaskInfo, node *api.NodeInfo, victims []*api.TaskInfo) error
- type FakeBinder
- type FakeEvictor
- type FakeStatusUpdater
- type FakeVolumeBinder
- func (fvb *FakeVolumeBinder) AllocateVolumes(task *api.TaskInfo, hostname string, podVolumes *volumescheduling.PodVolumes) error
- func (fvb *FakeVolumeBinder) BindVolumes(task *api.TaskInfo, podVolumes *volumescheduling.PodVolumes) error
- func (fvb *FakeVolumeBinder) GetPodVolumes(task *api.TaskInfo, node *v1.Node) (*volumescheduling.PodVolumes, error)
- func (fvb *FakeVolumeBinder) RevertVolumes(task *api.TaskInfo, podVolumes *volumescheduling.PodVolumes)
- type PredicateHelper
- type PriorityQueue
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildBestEffortPod ¶ added in v1.6.0
func BuildBestEffortPod(namespace, name, nodeName string, p v1.PodPhase, groupName string, labels map[string]string, selector map[string]string) *v1.Pod
BuildBestEffortPod builds a BestEffort pod object
func BuildDynamicPVC ¶ added in v1.6.0
func BuildDynamicPVC(namespace, name string, req v1.ResourceList) (*v1.PersistentVolumeClaim, *v1.PersistentVolume, *storagev1.StorageClass)
BuildDynamicPVC create pv pvc and storage class
func BuildPod ¶
func BuildPod(namespace, name, nodeName string, p v1.PodPhase, req v1.ResourceList, groupName string, labels map[string]string, selector map[string]string) *v1.Pod
BuildPod builds a Burstable pod object
func BuildPodGroup ¶ added in v1.9.0
func BuildPodGroup(name, ns, queue string, minMember int32, taskMinMember map[string]int32, status schedulingv1beta1.PodGroupPhase) *schedulingv1beta1.PodGroup
BuildPodGroup return podgroup with base spec and phase status
func BuildPodGroupWithAnno ¶ added in v1.10.0
func BuildPodGroupWithAnno(name, ns, queue string, minMember int32, taskMinMember map[string]int32, status schedulingv1beta1.PodGroupPhase, annos map[string]string) *schedulingv1beta1.PodGroup
BuildPodGroupWithAnno returns a podgroup object with annotations
func BuildPodGroupWithMinResources ¶ added in v1.10.0
func BuildPodGroupWithMinResources(name, ns, queue string, minMember int32, taskMinMember map[string]int32, minResources v1.ResourceList, status schedulingv1beta1.PodGroupPhase) *schedulingv1beta1.PodGroup
BuildPodGroupWithMinResources return podgroup with base spec and phase status and minResources
func BuildPodGroupWithPrio ¶ added in v1.9.0
func BuildPodGroupWithPrio(name, ns, queue string, minMember int32, taskMinMember map[string]int32, status schedulingv1beta1.PodGroupPhase, prioName string) *schedulingv1beta1.PodGroup
BuildPodGroupWithPrio return podgroup with podgroup PriorityClassName
func BuildPodWithPVC ¶ added in v1.6.0
func BuildPodWithPVC(namespace, name, nodename string, p v1.PodPhase, req v1.ResourceList, pvc *v1.PersistentVolumeClaim, groupName string, labels map[string]string, selector map[string]string) *v1.Pod
BuildPodWithPVC builts Pod object with pvc volume
func BuildPodWithPreeemptionPolicy ¶ added in v1.11.0
func BuildPodWithPreeemptionPolicy(namespace, name, nodeName string, p v1.PodPhase, req v1.ResourceList, groupName string, labels map[string]string, selector map[string]string, preemptionPolicy v1.PreemptionPolicy) *v1.Pod
BuildPodWithPreemptionPolicy builds a pod with preemptionPolicy
func BuildPodWithPriority ¶ added in v1.6.0
func BuildPodWithPriority(namespace, name, nodeName string, p v1.PodPhase, req v1.ResourceList, groupName string, labels map[string]string, selector map[string]string, priority *int32) *v1.Pod
BuildPodWithPriority builds a pod object with priority
func BuildPriorityClass ¶ added in v1.9.0
func BuildPriorityClass(name string, value int32) *schedulingv1.PriorityClass
////// build in resource ////// BuildPriorityClass return pc
func BuildPriorityClassWithPreemptionPolicy ¶ added in v1.11.0
func BuildPriorityClassWithPreemptionPolicy(name string, value int32, preemptionPolicy v1.PreemptionPolicy) *schedulingv1.PriorityClass
BuildPriorityClassWithPreemptionPolicy return a priorityClass with value and preemptionPolicy
func BuildQueue ¶ added in v1.9.0
func BuildQueue(qname string, weight int32, cap v1.ResourceList) *schedulingv1beta1.Queue
BuildQueue return a scheduling Queue
func BuildQueueWithAnnos ¶ added in v1.9.0
func BuildQueueWithAnnos(qname string, weight int32, cap v1.ResourceList, annos map[string]string) *schedulingv1beta1.Queue
BuildQueueWithAnnos return a Queue with annotations
func BuildQueueWithPriorityAndResourcesQuantity ¶ added in v1.10.0
func BuildQueueWithPriorityAndResourcesQuantity(qname string, priority int32, deserved, cap v1.ResourceList) *schedulingv1beta1.Queue
BuildQueueWithPriorityAndResourcesQuantity return a queue with priority, deserved and capability resources quantity.
func BuildQueueWithResourcesQuantity ¶ added in v1.9.0
func BuildQueueWithResourcesQuantity(qname string, deserved, cap v1.ResourceList) *schedulingv1beta1.Queue
BuildQueueWithResourcesQuantity return a queue with deserved and capability resources quantity.
func BuildResourceQuota ¶ added in v1.10.0
func BuildResourceQuota(name, ns string, hard v1.ResourceList) *v1.ResourceQuota
func CalculateNumOfFeasibleNodesToFind ¶
CalculateNumOfFeasibleNodesToFind returns the number of feasible nodes that once found, the scheduler stops its search for more feasible nodes.
func ConvertRes2ResList ¶ added in v1.7.0
func ConvertRes2ResList(res *api.Resource) v1.ResourceList
ConvertRes2ResList convert resource type from api.Resource in scheduler to v1.ResourceList in yaml
func GetNodeList ¶
GetNodeList returns values of the map 'nodes'
func PrioritizeNodes ¶
func PrioritizeNodes(task *api.TaskInfo, nodes []*api.NodeInfo, batchFn api.BatchNodeOrderFn, mapFn api.NodeOrderMapFn, reduceFn api.NodeOrderReduceFn) map[float64][]*api.NodeInfo
PrioritizeNodes returns a map whose key is node's score and value are corresponding nodes
func SelectBestNode ¶
SelectBestNode returns best node whose score is highest, pick one randomly if there are many nodes with same score.
Types ¶
type FakeBinder ¶
type FakeBinder struct { sync.RWMutex Channel chan string // contains filtered or unexported fields }
FakeBinder is used as fake binder
func NewFakeBinder ¶ added in v1.10.0
func NewFakeBinder(buffer int) *FakeBinder
NewFakeBinder returns a instance of FakeBinder
func (*FakeBinder) Bind ¶
func (fb *FakeBinder) Bind(kubeClient kubernetes.Interface, tasks []*api.TaskInfo) map[api.TaskID]string
Bind used by fake binder struct to bind pods
func (*FakeBinder) Binds ¶
func (fb *FakeBinder) Binds() map[string]string
Binds returns the binding results
func (*FakeBinder) Length ¶ added in v1.10.0
func (fb *FakeBinder) Length() int
Length returns the number of bindings
type FakeEvictor ¶
type FakeEvictor struct { sync.RWMutex Channel chan string // contains filtered or unexported fields }
FakeEvictor is used as fake evictor
func NewFakeEvictor ¶ added in v1.10.0
func NewFakeEvictor(buffer int) *FakeEvictor
NewFakeEvictor returns a new FakeEvictor instance
func (*FakeEvictor) Evict ¶
func (fe *FakeEvictor) Evict(p *v1.Pod, reason string) error
Evict is used by fake evictor to evict pods
func (*FakeEvictor) Evicts ¶
func (fe *FakeEvictor) Evicts() []string
Evicts returns copy of evicted pods.
func (*FakeEvictor) Length ¶ added in v1.10.0
func (fe *FakeEvictor) Length() int
Length returns the number of evicts
type FakeStatusUpdater ¶
type FakeStatusUpdater struct { }
FakeStatusUpdater is used for fake status update
func (*FakeStatusUpdater) UpdatePodGroup ¶
UpdatePodGroup is an empty function
func (*FakeStatusUpdater) UpdatePodStatus ¶ added in v1.10.0
UpdatePodStatus is an empty function
func (*FakeStatusUpdater) UpdateQueueStatus ¶ added in v1.9.0
func (ftsu *FakeStatusUpdater) UpdateQueueStatus(queue *api.QueueInfo) error
UpdateQueueStatus do fake empty update
type FakeVolumeBinder ¶
type FakeVolumeBinder struct { Actions map[string][]string // contains filtered or unexported fields }
FakeVolumeBinder is used as fake volume binder
func NewFakeVolumeBinder ¶ added in v1.6.0
func NewFakeVolumeBinder(kubeClient kubernetes.Interface) *FakeVolumeBinder
NewFakeVolumeBinder create fake volume binder with kubeclient
func (*FakeVolumeBinder) AllocateVolumes ¶
func (fvb *FakeVolumeBinder) AllocateVolumes(task *api.TaskInfo, hostname string, podVolumes *volumescheduling.PodVolumes) error
AllocateVolumes is a empty function
func (*FakeVolumeBinder) BindVolumes ¶
func (fvb *FakeVolumeBinder) BindVolumes(task *api.TaskInfo, podVolumes *volumescheduling.PodVolumes) error
BindVolumes is a empty function
func (*FakeVolumeBinder) GetPodVolumes ¶ added in v1.3.0
func (fvb *FakeVolumeBinder) GetPodVolumes(task *api.TaskInfo, node *v1.Node) (*volumescheduling.PodVolumes, error)
GetPodVolumes is a empty function
func (*FakeVolumeBinder) RevertVolumes ¶ added in v1.6.0
func (fvb *FakeVolumeBinder) RevertVolumes(task *api.TaskInfo, podVolumes *volumescheduling.PodVolumes)
RevertVolumes is a empty function
type PredicateHelper ¶ added in v1.5.0
type PredicateHelper interface {
PredicateNodes(task *api.TaskInfo, nodes []*api.NodeInfo, fn api.PredicateFn, enableErrorCache bool) ([]*api.NodeInfo, *api.FitErrors)
}
func NewPredicateHelper ¶ added in v1.5.0
func NewPredicateHelper() PredicateHelper
type PriorityQueue ¶
type PriorityQueue struct {
// contains filtered or unexported fields
}
PriorityQueue implements a scheduling queue.
func NewPriorityQueue ¶
func NewPriorityQueue(lessFn api.LessFn) *PriorityQueue
NewPriorityQueue returns a PriorityQueue
func (*PriorityQueue) Pop ¶
func (q *PriorityQueue) Pop() interface{}
Pop pops element in the priority Queue
func (*PriorityQueue) Push ¶
func (q *PriorityQueue) Push(it interface{})
Push pushes element in the priority Queue