schedulerobjects

package
v0.3.45 Latest Latest
Warning

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

Go to latest
Published: Jan 13, 2023 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidLengthReporting        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowReporting          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupReporting = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	ErrInvalidLengthSchedulerobjects        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowSchedulerobjects          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupSchedulerobjects = fmt.Errorf("proto: unexpected end of group")
)

Functions

func PriorityFromPodSpec added in v0.3.35

func PriorityFromPodSpec(podSpec *v1.PodSpec, priorityByPriorityClassName map[string]configuration.PriorityClass) (int32, bool)

PriorityFromPodSpec returns the priority set in a pod spec. If priority is set directly, that value is returned. Otherwise, it returns priorityByPriorityClassName[podSpec.PriorityClassName]. ok is false if no priority is set for this pod spec, in which case priority is 0.

func RegisterSchedulerReportingServer added in v0.3.35

func RegisterSchedulerReportingServer(s *grpc.Server, srv SchedulerReportingServer)

Types

type AllocatableByPriorityAndResourceType added in v0.3.39

type AllocatableByPriorityAndResourceType QuantityByPriorityAndResourceType

AllocatableByPriorityAndResourceType accounts for resources that can be allocated to pods of a given priority. E.g., AllocatableByPriorityAndResourceType[5]["cpu"] is the amount of CPU available to pods with priority 5, where alloctable resources = unused resources + resources allocated to lower-priority pods.

func NewAllocatableByPriorityAndResourceType added in v0.3.39

func NewAllocatableByPriorityAndResourceType(priorities []int32, resources map[string]resource.Quantity) AllocatableByPriorityAndResourceType

func (AllocatableByPriorityAndResourceType) DeepCopy added in v0.3.39

func (AllocatableByPriorityAndResourceType) Get added in v0.3.39

func (AllocatableByPriorityAndResourceType AllocatableByPriorityAndResourceType) Get(priority int32, resourceType string) resource.Quantity

func (AllocatableByPriorityAndResourceType) MarkAllocatable added in v0.3.39

func (m AllocatableByPriorityAndResourceType) MarkAllocatable(p int32, rs ResourceList)

MarkAllocatable indicates resources have been released by pods of priority p, thus increasing the resources allocatable to pods of priority p or lower.

func (AllocatableByPriorityAndResourceType) MarkAllocated added in v0.3.39

MarkAllocated indicates resources have been allocated to pods of priority p, hence reducing the resources allocatable to pods of priority p or lower.

type AllocatedByPriorityAndResourceType added in v0.3.39

type AllocatedByPriorityAndResourceType QuantityByPriorityAndResourceType

AllocatedByPriorityAndResourceType accounts for resources allocated to pods of a given priority or lower. E.g., AllocatedByPriorityAndResourceType[5]["cpu"] is the amount of CPU allocated to pods with priority 5 or lower.

func NewAllocatedByPriorityAndResourceType added in v0.3.39

func NewAllocatedByPriorityAndResourceType(priorities []int32) AllocatedByPriorityAndResourceType

func (AllocatedByPriorityAndResourceType) Get added in v0.3.39

func (assignedByPriorityAndResourceType AllocatedByPriorityAndResourceType) Get(priority int32, resourceType string) resource.Quantity

func (AllocatedByPriorityAndResourceType) MarkAllocatable added in v0.3.39

func (m AllocatedByPriorityAndResourceType) MarkAllocatable(p int32, rs ResourceList)

MarkAllocatable reduces the resources allocated to pods of priority p or lower.

func (AllocatedByPriorityAndResourceType) MarkAllocated added in v0.3.39

func (m AllocatedByPriorityAndResourceType) MarkAllocated(p int32, rs ResourceList)

MarkAllocated increases the resources allocated to pods of priority p or lower.

type ClusterResourceUsageReport added in v0.3.35

type ClusterResourceUsageReport struct {
	Pool             string                                `protobuf:"bytes,1,opt,name=pool,proto3" json:"pool,omitempty"`
	Created          time.Time                             `protobuf:"bytes,2,opt,name=created,proto3,stdtime" json:"created"`
	ResourcesByQueue map[string]*QueueClusterResourceUsage `` /* 173-byte string literal not displayed */
}

A collection of QueueClusterResourceUsage This is only needed to brige the gap between the redis based scheduler and the new scheduler.

func (*ClusterResourceUsageReport) Descriptor added in v0.3.35

func (*ClusterResourceUsageReport) Descriptor() ([]byte, []int)

func (*ClusterResourceUsageReport) GetCreated added in v0.3.35

func (m *ClusterResourceUsageReport) GetCreated() time.Time

func (*ClusterResourceUsageReport) GetPool added in v0.3.35

func (m *ClusterResourceUsageReport) GetPool() string

func (*ClusterResourceUsageReport) GetResourcesByQueue added in v0.3.35

func (m *ClusterResourceUsageReport) GetResourcesByQueue() map[string]*QueueClusterResourceUsage

func (*ClusterResourceUsageReport) Marshal added in v0.3.35

func (m *ClusterResourceUsageReport) Marshal() (dAtA []byte, err error)

func (*ClusterResourceUsageReport) MarshalTo added in v0.3.35

func (m *ClusterResourceUsageReport) MarshalTo(dAtA []byte) (int, error)

func (*ClusterResourceUsageReport) MarshalToSizedBuffer added in v0.3.35

func (m *ClusterResourceUsageReport) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ClusterResourceUsageReport) ProtoMessage added in v0.3.35

func (*ClusterResourceUsageReport) ProtoMessage()

func (*ClusterResourceUsageReport) Reset added in v0.3.35

func (m *ClusterResourceUsageReport) Reset()

func (*ClusterResourceUsageReport) Size added in v0.3.35

func (m *ClusterResourceUsageReport) Size() (n int)

func (*ClusterResourceUsageReport) String added in v0.3.35

func (m *ClusterResourceUsageReport) String() string

func (*ClusterResourceUsageReport) Unmarshal added in v0.3.35

func (m *ClusterResourceUsageReport) Unmarshal(dAtA []byte) error

func (*ClusterResourceUsageReport) XXX_DiscardUnknown added in v0.3.35

func (m *ClusterResourceUsageReport) XXX_DiscardUnknown()

func (*ClusterResourceUsageReport) XXX_Marshal added in v0.3.35

func (m *ClusterResourceUsageReport) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ClusterResourceUsageReport) XXX_Merge added in v0.3.35

func (m *ClusterResourceUsageReport) XXX_Merge(src proto.Message)

func (*ClusterResourceUsageReport) XXX_Size added in v0.3.35

func (m *ClusterResourceUsageReport) XXX_Size() int

func (*ClusterResourceUsageReport) XXX_Unmarshal added in v0.3.35

func (m *ClusterResourceUsageReport) XXX_Unmarshal(b []byte) error

type InsufficientResources added in v0.3.35

type InsufficientResources struct {
	Resource  string
	Required  resource.Quantity
	Available resource.Quantity
}

func (*InsufficientResources) String added in v0.3.35

func (err *InsufficientResources) String() string

type JobId added in v0.3.35

type JobId struct {
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}

func (*JobId) Descriptor added in v0.3.35

func (*JobId) Descriptor() ([]byte, []int)

func (*JobId) GetId added in v0.3.35

func (m *JobId) GetId() string

func (*JobId) Marshal added in v0.3.35

func (m *JobId) Marshal() (dAtA []byte, err error)

func (*JobId) MarshalTo added in v0.3.35

func (m *JobId) MarshalTo(dAtA []byte) (int, error)

func (*JobId) MarshalToSizedBuffer added in v0.3.35

func (m *JobId) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*JobId) ProtoMessage added in v0.3.35

func (*JobId) ProtoMessage()

func (*JobId) Reset added in v0.3.35

func (m *JobId) Reset()

func (*JobId) Size added in v0.3.35

func (m *JobId) Size() (n int)

func (*JobId) String added in v0.3.35

func (m *JobId) String() string

func (*JobId) Unmarshal added in v0.3.35

func (m *JobId) Unmarshal(dAtA []byte) error

func (*JobId) XXX_DiscardUnknown added in v0.3.35

func (m *JobId) XXX_DiscardUnknown()

func (*JobId) XXX_Marshal added in v0.3.35

func (m *JobId) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*JobId) XXX_Merge added in v0.3.35

func (m *JobId) XXX_Merge(src proto.Message)

func (*JobId) XXX_Size added in v0.3.35

func (m *JobId) XXX_Size() int

func (*JobId) XXX_Unmarshal added in v0.3.35

func (m *JobId) XXX_Unmarshal(b []byte) error

type JobReport added in v0.3.35

type JobReport struct {
	Report string `protobuf:"bytes,1,opt,name=report,proto3" json:"report,omitempty"`
}

func (*JobReport) Descriptor added in v0.3.35

func (*JobReport) Descriptor() ([]byte, []int)

func (*JobReport) GetReport added in v0.3.35

func (m *JobReport) GetReport() string

func (*JobReport) Marshal added in v0.3.35

func (m *JobReport) Marshal() (dAtA []byte, err error)

func (*JobReport) MarshalTo added in v0.3.35

func (m *JobReport) MarshalTo(dAtA []byte) (int, error)

func (*JobReport) MarshalToSizedBuffer added in v0.3.35

func (m *JobReport) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*JobReport) ProtoMessage added in v0.3.35

func (*JobReport) ProtoMessage()

func (*JobReport) Reset added in v0.3.35

func (m *JobReport) Reset()

func (*JobReport) Size added in v0.3.35

func (m *JobReport) Size() (n int)

func (*JobReport) String added in v0.3.35

func (m *JobReport) String() string

func (*JobReport) Unmarshal added in v0.3.35

func (m *JobReport) Unmarshal(dAtA []byte) error

func (*JobReport) XXX_DiscardUnknown added in v0.3.35

func (m *JobReport) XXX_DiscardUnknown()

func (*JobReport) XXX_Marshal added in v0.3.35

func (m *JobReport) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*JobReport) XXX_Merge added in v0.3.35

func (m *JobReport) XXX_Merge(src proto.Message)

func (*JobReport) XXX_Size added in v0.3.35

func (m *JobReport) XXX_Size() int

func (*JobReport) XXX_Unmarshal added in v0.3.35

func (m *JobReport) XXX_Unmarshal(b []byte) error

type JobSchedulingInfo

type JobSchedulingInfo struct {
	Lifetime        uint32 `protobuf:"varint,1,opt,name=lifetime,proto3" json:"lifetime,omitempty"`
	AtMostOnce      bool   `protobuf:"varint,2,opt,name=atMostOnce,proto3" json:"atMostOnce,omitempty"`
	Preemptible     bool   `protobuf:"varint,3,opt,name=preemptible,proto3" json:"preemptible,omitempty"`
	ConcurrencySafe bool   `protobuf:"varint,4,opt,name=concurrencySafe,proto3" json:"concurrencySafe,omitempty"`
	// Kubernetes objects that make up this job and their respective scheduling requirements.
	ObjectRequirements []*ObjectRequirements `protobuf:"bytes,5,rep,name=objectRequirements,proto3" json:"objectRequirements,omitempty"`
}

Minimal job representation used by the scheduler.

func (*JobSchedulingInfo) Descriptor

func (*JobSchedulingInfo) Descriptor() ([]byte, []int)

func (*JobSchedulingInfo) GetAtMostOnce

func (m *JobSchedulingInfo) GetAtMostOnce() bool

func (*JobSchedulingInfo) GetConcurrencySafe

func (m *JobSchedulingInfo) GetConcurrencySafe() bool

func (*JobSchedulingInfo) GetLifetime

func (m *JobSchedulingInfo) GetLifetime() uint32

func (*JobSchedulingInfo) GetObjectRequirements

func (m *JobSchedulingInfo) GetObjectRequirements() []*ObjectRequirements

func (*JobSchedulingInfo) GetPreemptible

func (m *JobSchedulingInfo) GetPreemptible() bool

func (*JobSchedulingInfo) Marshal

func (m *JobSchedulingInfo) Marshal() (dAtA []byte, err error)

func (*JobSchedulingInfo) MarshalTo

func (m *JobSchedulingInfo) MarshalTo(dAtA []byte) (int, error)

func (*JobSchedulingInfo) MarshalToSizedBuffer

func (m *JobSchedulingInfo) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*JobSchedulingInfo) ProtoMessage

func (*JobSchedulingInfo) ProtoMessage()

func (*JobSchedulingInfo) Reset

func (m *JobSchedulingInfo) Reset()

func (*JobSchedulingInfo) Size

func (m *JobSchedulingInfo) Size() (n int)

func (*JobSchedulingInfo) String

func (m *JobSchedulingInfo) String() string

func (*JobSchedulingInfo) Unmarshal

func (m *JobSchedulingInfo) Unmarshal(dAtA []byte) error

func (*JobSchedulingInfo) XXX_DiscardUnknown

func (m *JobSchedulingInfo) XXX_DiscardUnknown()

func (*JobSchedulingInfo) XXX_Marshal

func (m *JobSchedulingInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*JobSchedulingInfo) XXX_Merge

func (m *JobSchedulingInfo) XXX_Merge(src proto.Message)

func (*JobSchedulingInfo) XXX_Size

func (m *JobSchedulingInfo) XXX_Size() int

func (*JobSchedulingInfo) XXX_Unmarshal

func (m *JobSchedulingInfo) XXX_Unmarshal(b []byte) error

type MissingLabel added in v0.3.35

type MissingLabel struct {
	Label string
}

func (*MissingLabel) String added in v0.3.35

func (r *MissingLabel) String() string

type Node added in v0.3.35

type Node struct {
	// Unique name associated with the node.
	// Only used internally by the scheduler.
	Id string `protobuf:"bytes,1,opt,name=Id,proto3" json:"Id,omitempty"`
	// Time at which this node was last updated.
	// Used to garbage collect nodes that have been removed.
	LastSeen time.Time `protobuf:"bytes,2,opt,name=LastSeen,proto3,stdtime" json:"LastSeen"`
	// The node type captures scheduling requirements of the node;
	// it's computed from the taints and labels associated with the node.
	// This field is set automatically by the NodeDb on inserting the node.
	NodeType *NodeType `protobuf:"bytes,3,opt,name=nodeType,proto3" json:"nodeType,omitempty"`
	// We store the NodeType.id here to simplify indexing.
	// This field is set automatically by the NodeDb on inserting the node.
	NodeTypeId string `protobuf:"bytes,4,opt,name=NodeTypeId,proto3" json:"NodeTypeId,omitempty"`
	// Kubernetes taints.
	Taints []v1.Taint `protobuf:"bytes,5,rep,name=taints,proto3" json:"taints"`
	// Kubernetes labels.
	Labels map[string]string `` /* 153-byte string literal not displayed */
	// Total resources on this node.
	TotalResources ResourceList `protobuf:"bytes,7,opt,name=TotalResources,proto3" json:"TotalResources"`
	// Resources available for jobs of a given priority.
	// E.g., AvailableResources[5]["cpu"] is the amount of CPU available to jobs with priority 5,
	// where available resources = unused resources + resources assigned to lower-priority jobs.
	AllocatableByPriorityAndResource map[int32]ResourceList `` /* 196-byte string literal not displayed */
}

Node represents a node in a worker cluster.

func NewNodeFromNodeInfo added in v0.3.35

func NewNodeFromNodeInfo(nodeInfo *api.NodeInfo, executor string, allowedPriorities []int32) *Node

func (*Node) AvailableQuantityByPriorityAndResource added in v0.3.35

func (node *Node) AvailableQuantityByPriorityAndResource(priority int32, resourceType string) resource.Quantity

func (*Node) DeepCopy added in v0.3.40

func (node *Node) DeepCopy() *Node

func (*Node) Descriptor added in v0.3.35

func (*Node) Descriptor() ([]byte, []int)

func (*Node) DynamicPodRequirementsMet added in v0.3.40

func (node *Node) DynamicPodRequirementsMet(req *PodRequirements) (bool, int, PodRequirementsNotMetReason, error)

DynamicPodRequirementsMet checks if a pod can be scheduled onto this node, accounting for resources allocated to pods already assigned to this node.

func (*Node) GetAllocatableByPriorityAndResource added in v0.3.39

func (m *Node) GetAllocatableByPriorityAndResource() map[int32]ResourceList

func (*Node) GetId added in v0.3.35

func (m *Node) GetId() string

func (*Node) GetLabels added in v0.3.35

func (m *Node) GetLabels() map[string]string

func (*Node) GetLastSeen added in v0.3.35

func (m *Node) GetLastSeen() time.Time

func (*Node) GetNodeType added in v0.3.35

func (m *Node) GetNodeType() *NodeType

func (*Node) GetNodeTypeId added in v0.3.35

func (m *Node) GetNodeTypeId() string

func (*Node) GetTaints added in v0.3.35

func (m *Node) GetTaints() []v1.Taint

func (*Node) GetTotalResources added in v0.3.35

func (m *Node) GetTotalResources() ResourceList

func (*Node) Marshal added in v0.3.35

func (m *Node) Marshal() (dAtA []byte, err error)

func (*Node) MarshalTo added in v0.3.35

func (m *Node) MarshalTo(dAtA []byte) (int, error)

func (*Node) MarshalToSizedBuffer added in v0.3.35

func (m *Node) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Node) PodRequirementsMet added in v0.3.35

func (node *Node) PodRequirementsMet(req *PodRequirements) (bool, int, PodRequirementsNotMetReason, error)

PodRequirementsMet determines whether a pod can be scheduled onto this node. If the pod can be scheduled, the returned score indicates how well the node fits: - 0: Pod can be scheduled by preempting running pods. - 1: Pod can be scheduled without preempting any running pods. If the requirements are not met, it returns the reason why. If the requirements can't be parsed, an error is returned.

func (*Node) ProtoMessage added in v0.3.35

func (*Node) ProtoMessage()

func (*Node) Reset added in v0.3.35

func (m *Node) Reset()

func (*Node) Size added in v0.3.35

func (m *Node) Size() (n int)

func (*Node) StaticPodRequirementsMet added in v0.3.40

func (node *Node) StaticPodRequirementsMet(req *PodRequirements) (bool, PodRequirementsNotMetReason, error)

StaticPodRequirementsMet checks if a pod can be scheduled onto this node, accounting for taints, node selectors, node affinity, and total resources available on the node.

func (*Node) String added in v0.3.35

func (m *Node) String() string

func (*Node) Unmarshal added in v0.3.35

func (m *Node) Unmarshal(dAtA []byte) error

func (*Node) XXX_DiscardUnknown added in v0.3.35

func (m *Node) XXX_DiscardUnknown()

func (*Node) XXX_Marshal added in v0.3.35

func (m *Node) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Node) XXX_Merge added in v0.3.35

func (m *Node) XXX_Merge(src proto.Message)

func (*Node) XXX_Size added in v0.3.35

func (m *Node) XXX_Size() int

func (*Node) XXX_Unmarshal added in v0.3.35

func (m *Node) XXX_Unmarshal(b []byte) error

type NodeType added in v0.3.35

type NodeType struct {
	// Unique identifier. Used for map lookup.
	Id string `protobuf:"bytes,1,opt,name=Id,proto3" json:"Id,omitempty"`
	// Kubernetes taints.
	// To reduce the number of distinct node types,
	// may contain only a subset of the taints of the node the node type is created from.
	Taints []v1.Taint `protobuf:"bytes,2,rep,name=taints,proto3" json:"taints"`
	// Kubernetes labels.
	// To reduce the number of distinct node types,
	// may contain only a subset of the labels of the node the node type is created from.
	Labels map[string]string `` /* 153-byte string literal not displayed */
	// Well-known labels not set by this node type.
	// Used to filter out nodes when looking for nodes for a pod
	// that requires at least one well-known label to be set.
	UnsetIndexedLabels map[string]string `` /* 177-byte string literal not displayed */
}

NodeType represents a particular combination of taints and labels. The scheduler groups nodes by node type. When assigning pods to nodes, the scheduler only considers nodes with a NodeType for which the taints and labels match.

func NewNodeType added in v0.3.35

func NewNodeType(taints []v1.Taint, labels map[string]string, indexedTaints map[string]interface{}, indexedLabels map[string]interface{}) *NodeType

func NewNodeTypeFromNode added in v0.3.35

func NewNodeTypeFromNode(node *v1.Node, indexedTaints map[string]interface{}, indexedLabels map[string]interface{}) *NodeType

func NewNodeTypeFromNodeInfo added in v0.3.35

func NewNodeTypeFromNodeInfo(nodeInfo *api.NodeInfo, indexedTaints map[string]interface{}, indexedLabels map[string]interface{}) *NodeType

func (*NodeType) DeepCopy added in v0.3.40

func (nodeType *NodeType) DeepCopy() *NodeType

func (*NodeType) Descriptor added in v0.3.35

func (*NodeType) Descriptor() ([]byte, []int)

func (*NodeType) GetId added in v0.3.35

func (m *NodeType) GetId() string

func (*NodeType) GetLabels added in v0.3.35

func (m *NodeType) GetLabels() map[string]string

func (*NodeType) GetTaints added in v0.3.35

func (m *NodeType) GetTaints() []v1.Taint

func (*NodeType) GetUnsetIndexedLabels added in v0.3.35

func (m *NodeType) GetUnsetIndexedLabels() map[string]string

func (*NodeType) Marshal added in v0.3.35

func (m *NodeType) Marshal() (dAtA []byte, err error)

func (*NodeType) MarshalTo added in v0.3.35

func (m *NodeType) MarshalTo(dAtA []byte) (int, error)

func (*NodeType) MarshalToSizedBuffer added in v0.3.35

func (m *NodeType) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*NodeType) PodRequirementsMet added in v0.3.35

func (nodeType *NodeType) PodRequirementsMet(req *PodRequirements) (bool, PodRequirementsNotMetReason, error)

PodRequirementsMet determines whether a pod can be scheduled on nodes of this NodeType. If the requirements are not met, it returns the reason for why. If the requirements can't be parsed, an error is returned.

func (*NodeType) ProtoMessage added in v0.3.35

func (*NodeType) ProtoMessage()

func (*NodeType) Reset added in v0.3.35

func (m *NodeType) Reset()

func (*NodeType) Size added in v0.3.35

func (m *NodeType) Size() (n int)

func (*NodeType) String added in v0.3.35

func (m *NodeType) String() string

func (*NodeType) Unmarshal added in v0.3.35

func (m *NodeType) Unmarshal(dAtA []byte) error

func (*NodeType) XXX_DiscardUnknown added in v0.3.35

func (m *NodeType) XXX_DiscardUnknown()

func (*NodeType) XXX_Marshal added in v0.3.35

func (m *NodeType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*NodeType) XXX_Merge added in v0.3.35

func (m *NodeType) XXX_Merge(src proto.Message)

func (*NodeType) XXX_Size added in v0.3.35

func (m *NodeType) XXX_Size() int

func (*NodeType) XXX_Unmarshal added in v0.3.35

func (m *NodeType) XXX_Unmarshal(b []byte) error

type ObjectRequirements

type ObjectRequirements struct {
	// Types that are valid to be assigned to Requirements:
	//	*ObjectRequirements_PodRequirements
	Requirements isObjectRequirements_Requirements `protobuf_oneof:"requirements"`
}

Message capturing the scheduling requirements of a particular Kubernetes object.

func (*ObjectRequirements) Descriptor

func (*ObjectRequirements) Descriptor() ([]byte, []int)

func (*ObjectRequirements) GetPodRequirements

func (m *ObjectRequirements) GetPodRequirements() *PodRequirements

func (*ObjectRequirements) GetRequirements

func (m *ObjectRequirements) GetRequirements() isObjectRequirements_Requirements

func (*ObjectRequirements) Marshal

func (m *ObjectRequirements) Marshal() (dAtA []byte, err error)

func (*ObjectRequirements) MarshalTo

func (m *ObjectRequirements) MarshalTo(dAtA []byte) (int, error)

func (*ObjectRequirements) MarshalToSizedBuffer

func (m *ObjectRequirements) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ObjectRequirements) ProtoMessage

func (*ObjectRequirements) ProtoMessage()

func (*ObjectRequirements) Reset

func (m *ObjectRequirements) Reset()

func (*ObjectRequirements) Size

func (m *ObjectRequirements) Size() (n int)

func (*ObjectRequirements) String

func (m *ObjectRequirements) String() string

func (*ObjectRequirements) Unmarshal

func (m *ObjectRequirements) Unmarshal(dAtA []byte) error

func (*ObjectRequirements) XXX_DiscardUnknown

func (m *ObjectRequirements) XXX_DiscardUnknown()

func (*ObjectRequirements) XXX_Marshal

func (m *ObjectRequirements) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ObjectRequirements) XXX_Merge

func (m *ObjectRequirements) XXX_Merge(src proto.Message)

func (*ObjectRequirements) XXX_OneofWrappers

func (*ObjectRequirements) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*ObjectRequirements) XXX_Size

func (m *ObjectRequirements) XXX_Size() int

func (*ObjectRequirements) XXX_Unmarshal

func (m *ObjectRequirements) XXX_Unmarshal(b []byte) error

type ObjectRequirements_PodRequirements

type ObjectRequirements_PodRequirements struct {
	PodRequirements *PodRequirements `protobuf:"bytes,1,opt,name=podRequirements,proto3,oneof" json:"podRequirements,omitempty"`
}

func (*ObjectRequirements_PodRequirements) MarshalTo

func (m *ObjectRequirements_PodRequirements) MarshalTo(dAtA []byte) (int, error)

func (*ObjectRequirements_PodRequirements) MarshalToSizedBuffer

func (m *ObjectRequirements_PodRequirements) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ObjectRequirements_PodRequirements) Size

type PodRequirements

type PodRequirements struct {
	// Kubernetes node selector.
	NodeSelector map[string]string `` /* 165-byte string literal not displayed */
	// Kubernetes scheduling requirements.
	Affinity *v1.Affinity `protobuf:"bytes,2,opt,name=affinity,proto3" json:"affinity,omitempty"`
	// Kubernetes tolerations.
	Tolerations []v1.Toleration `protobuf:"bytes,3,rep,name=tolerations,proto3" json:"tolerations"`
	// Kubernetes annotations. Included here since we use annotations with special meaning.
	Annotations map[string]string `` /* 163-byte string literal not displayed */
	// Pod priority. Should be mapped from the priority class name of the submitted pod.
	Priority int32 `protobuf:"varint,4,opt,name=priority,proto3" json:"priority,omitempty"`
	// One of Never, PreemptLowerPriority.
	// Defaults to PreemptLowerPriority if unset.
	PreemptionPolicy string `protobuf:"bytes,5,opt,name=preemptionPolicy,proto3" json:"preemptionPolicy,omitempty"`
	// Sum of the resource requirements for all containers that make up this pod.
	ResourceRequirements v1.ResourceRequirements `protobuf:"bytes,6,opt,name=resourceRequirements,proto3" json:"resourceRequirements"`
}

Captures the scheduling requirements of a pod.

func PodRequirementsFromPod added in v0.3.40

func PodRequirementsFromPod(pod *v1.Pod, priorityByPriorityClassName map[string]configuration.PriorityClass) *PodRequirements

func PodRequirementsFromPodSpec added in v0.3.35

func PodRequirementsFromPodSpec(podSpec *v1.PodSpec, priorityByPriorityClassName map[string]configuration.PriorityClass) *PodRequirements

func (*PodRequirements) Descriptor

func (*PodRequirements) Descriptor() ([]byte, []int)

func (*PodRequirements) GetAffinity

func (m *PodRequirements) GetAffinity() *v1.Affinity

func (*PodRequirements) GetAffinityNodeSelector added in v0.3.35

func (req *PodRequirements) GetAffinityNodeSelector() *v1.NodeSelector

func (*PodRequirements) GetAnnotations added in v0.3.40

func (m *PodRequirements) GetAnnotations() map[string]string

func (*PodRequirements) GetNodeSelector

func (m *PodRequirements) GetNodeSelector() map[string]string

func (*PodRequirements) GetPreemptionPolicy

func (m *PodRequirements) GetPreemptionPolicy() string

func (*PodRequirements) GetPriority

func (m *PodRequirements) GetPriority() int32

func (*PodRequirements) GetResourceRequirements

func (m *PodRequirements) GetResourceRequirements() v1.ResourceRequirements

func (*PodRequirements) GetTolerations

func (m *PodRequirements) GetTolerations() []v1.Toleration

func (*PodRequirements) Marshal

func (m *PodRequirements) Marshal() (dAtA []byte, err error)

func (*PodRequirements) MarshalTo

func (m *PodRequirements) MarshalTo(dAtA []byte) (int, error)

func (*PodRequirements) MarshalToSizedBuffer

func (m *PodRequirements) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*PodRequirements) ProtoMessage

func (*PodRequirements) ProtoMessage()

func (*PodRequirements) Reset

func (m *PodRequirements) Reset()

func (*PodRequirements) Size

func (m *PodRequirements) Size() (n int)

func (*PodRequirements) String

func (m *PodRequirements) String() string

func (*PodRequirements) Unmarshal

func (m *PodRequirements) Unmarshal(dAtA []byte) error

func (*PodRequirements) XXX_DiscardUnknown

func (m *PodRequirements) XXX_DiscardUnknown()

func (*PodRequirements) XXX_Marshal

func (m *PodRequirements) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PodRequirements) XXX_Merge

func (m *PodRequirements) XXX_Merge(src proto.Message)

func (*PodRequirements) XXX_Size

func (m *PodRequirements) XXX_Size() int

func (*PodRequirements) XXX_Unmarshal

func (m *PodRequirements) XXX_Unmarshal(b []byte) error

type PodRequirementsNotMetReason added in v0.3.35

type PodRequirementsNotMetReason interface {
	fmt.Stringer
}

type QuantityByPriorityAndResourceType added in v0.3.35

type QuantityByPriorityAndResourceType map[int32]ResourceList

func (QuantityByPriorityAndResourceType) Add added in v0.3.35

func (QuantityByPriorityAndResourceType) AddResouceList added in v0.3.40

func (a QuantityByPriorityAndResourceType) AddResouceList(priority int32, rlb ResourceList)

func (QuantityByPriorityAndResourceType) AggregateByResource added in v0.3.35

func (a QuantityByPriorityAndResourceType) AggregateByResource() ResourceList

func (QuantityByPriorityAndResourceType) DeepCopy added in v0.3.35

func (QuantityByPriorityAndResourceType) Equal added in v0.3.35

func (QuantityByPriorityAndResourceType) String added in v0.3.35

func (QuantityByPriorityAndResourceType) Sub added in v0.3.35

type Queue added in v0.3.35

type Queue struct {
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}

func (*Queue) Descriptor added in v0.3.35

func (*Queue) Descriptor() ([]byte, []int)

func (*Queue) GetName added in v0.3.35

func (m *Queue) GetName() string

func (*Queue) Marshal added in v0.3.35

func (m *Queue) Marshal() (dAtA []byte, err error)

func (*Queue) MarshalTo added in v0.3.35

func (m *Queue) MarshalTo(dAtA []byte) (int, error)

func (*Queue) MarshalToSizedBuffer added in v0.3.35

func (m *Queue) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Queue) ProtoMessage added in v0.3.35

func (*Queue) ProtoMessage()

func (*Queue) Reset added in v0.3.35

func (m *Queue) Reset()

func (*Queue) Size added in v0.3.35

func (m *Queue) Size() (n int)

func (*Queue) String added in v0.3.35

func (m *Queue) String() string

func (*Queue) Unmarshal added in v0.3.35

func (m *Queue) Unmarshal(dAtA []byte) error

func (*Queue) XXX_DiscardUnknown added in v0.3.35

func (m *Queue) XXX_DiscardUnknown()

func (*Queue) XXX_Marshal added in v0.3.35

func (m *Queue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Queue) XXX_Merge added in v0.3.35

func (m *Queue) XXX_Merge(src proto.Message)

func (*Queue) XXX_Size added in v0.3.35

func (m *Queue) XXX_Size() int

func (*Queue) XXX_Unmarshal added in v0.3.35

func (m *Queue) XXX_Unmarshal(b []byte) error

type QueueClusterResourceUsage added in v0.3.35

type QueueClusterResourceUsage struct {
	Created             time.Time              `protobuf:"bytes,1,opt,name=created,proto3,stdtime" json:"created"`
	Queue               string                 `protobuf:"bytes,2,opt,name=queue,proto3" json:"queue,omitempty"`
	ExecutorId          string                 `protobuf:"bytes,3,opt,name=executorId,proto3" json:"executorId,omitempty"`
	ResourcesByPriority map[int32]ResourceList `` /* 170-byte string literal not displayed */
}

Captures the resource usage of a particular queue in a given cluster.

func (*QueueClusterResourceUsage) Descriptor added in v0.3.35

func (*QueueClusterResourceUsage) Descriptor() ([]byte, []int)

func (*QueueClusterResourceUsage) GetCreated added in v0.3.35

func (m *QueueClusterResourceUsage) GetCreated() time.Time

func (*QueueClusterResourceUsage) GetExecutorId added in v0.3.35

func (m *QueueClusterResourceUsage) GetExecutorId() string

func (*QueueClusterResourceUsage) GetQueue added in v0.3.35

func (m *QueueClusterResourceUsage) GetQueue() string

func (*QueueClusterResourceUsage) GetResourcesByPriority added in v0.3.35

func (m *QueueClusterResourceUsage) GetResourcesByPriority() map[int32]ResourceList

func (*QueueClusterResourceUsage) Marshal added in v0.3.35

func (m *QueueClusterResourceUsage) Marshal() (dAtA []byte, err error)

func (*QueueClusterResourceUsage) MarshalTo added in v0.3.35

func (m *QueueClusterResourceUsage) MarshalTo(dAtA []byte) (int, error)

func (*QueueClusterResourceUsage) MarshalToSizedBuffer added in v0.3.35

func (m *QueueClusterResourceUsage) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*QueueClusterResourceUsage) ProtoMessage added in v0.3.35

func (*QueueClusterResourceUsage) ProtoMessage()

func (*QueueClusterResourceUsage) Reset added in v0.3.35

func (m *QueueClusterResourceUsage) Reset()

func (*QueueClusterResourceUsage) Size added in v0.3.35

func (m *QueueClusterResourceUsage) Size() (n int)

func (*QueueClusterResourceUsage) String added in v0.3.35

func (m *QueueClusterResourceUsage) String() string

func (*QueueClusterResourceUsage) Unmarshal added in v0.3.35

func (m *QueueClusterResourceUsage) Unmarshal(dAtA []byte) error

func (*QueueClusterResourceUsage) XXX_DiscardUnknown added in v0.3.35

func (m *QueueClusterResourceUsage) XXX_DiscardUnknown()

func (*QueueClusterResourceUsage) XXX_Marshal added in v0.3.35

func (m *QueueClusterResourceUsage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*QueueClusterResourceUsage) XXX_Merge added in v0.3.35

func (m *QueueClusterResourceUsage) XXX_Merge(src proto.Message)

func (*QueueClusterResourceUsage) XXX_Size added in v0.3.35

func (m *QueueClusterResourceUsage) XXX_Size() int

func (*QueueClusterResourceUsage) XXX_Unmarshal added in v0.3.35

func (m *QueueClusterResourceUsage) XXX_Unmarshal(b []byte) error

type QueueReport added in v0.3.35

type QueueReport struct {
	Report string `protobuf:"bytes,1,opt,name=report,proto3" json:"report,omitempty"`
}

func (*QueueReport) Descriptor added in v0.3.35

func (*QueueReport) Descriptor() ([]byte, []int)

func (*QueueReport) GetReport added in v0.3.35

func (m *QueueReport) GetReport() string

func (*QueueReport) Marshal added in v0.3.35

func (m *QueueReport) Marshal() (dAtA []byte, err error)

func (*QueueReport) MarshalTo added in v0.3.35

func (m *QueueReport) MarshalTo(dAtA []byte) (int, error)

func (*QueueReport) MarshalToSizedBuffer added in v0.3.35

func (m *QueueReport) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*QueueReport) ProtoMessage added in v0.3.35

func (*QueueReport) ProtoMessage()

func (*QueueReport) Reset added in v0.3.35

func (m *QueueReport) Reset()

func (*QueueReport) Size added in v0.3.35

func (m *QueueReport) Size() (n int)

func (*QueueReport) String added in v0.3.35

func (m *QueueReport) String() string

func (*QueueReport) Unmarshal added in v0.3.35

func (m *QueueReport) Unmarshal(dAtA []byte) error

func (*QueueReport) XXX_DiscardUnknown added in v0.3.35

func (m *QueueReport) XXX_DiscardUnknown()

func (*QueueReport) XXX_Marshal added in v0.3.35

func (m *QueueReport) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*QueueReport) XXX_Merge added in v0.3.35

func (m *QueueReport) XXX_Merge(src proto.Message)

func (*QueueReport) XXX_Size added in v0.3.35

func (m *QueueReport) XXX_Size() int

func (*QueueReport) XXX_Unmarshal added in v0.3.35

func (m *QueueReport) XXX_Unmarshal(b []byte) error

type ResourceList added in v0.3.35

type ResourceList struct {
	Resources map[string]resource.Quantity `` /* 149-byte string literal not displayed */
}

func ResourceListFromV1ResourceList added in v0.3.35

func ResourceListFromV1ResourceList(rl v1.ResourceList) ResourceList

func (*ResourceList) Add added in v0.3.35

func (a *ResourceList) Add(b ResourceList)

func (ResourceList) CompactString added in v0.3.35

func (rl ResourceList) CompactString() string

func (*ResourceList) DeepCopy added in v0.3.35

func (rl *ResourceList) DeepCopy() ResourceList

func (*ResourceList) Descriptor added in v0.3.35

func (*ResourceList) Descriptor() ([]byte, []int)

func (ResourceList) Equal added in v0.3.35

func (a ResourceList) Equal(b ResourceList) bool

func (*ResourceList) Get added in v0.3.39

func (a *ResourceList) Get(resourceType string) resource.Quantity

func (*ResourceList) GetResources added in v0.3.35

func (m *ResourceList) GetResources() map[string]resource.Quantity

func (*ResourceList) Marshal added in v0.3.35

func (m *ResourceList) Marshal() (dAtA []byte, err error)

func (*ResourceList) MarshalTo added in v0.3.35

func (m *ResourceList) MarshalTo(dAtA []byte) (int, error)

func (*ResourceList) MarshalToSizedBuffer added in v0.3.35

func (m *ResourceList) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ResourceList) ProtoMessage added in v0.3.35

func (*ResourceList) ProtoMessage()

func (*ResourceList) Reset added in v0.3.35

func (m *ResourceList) Reset()

func (*ResourceList) Size added in v0.3.35

func (m *ResourceList) Size() (n int)

func (*ResourceList) String added in v0.3.35

func (m *ResourceList) String() string

func (*ResourceList) Sub added in v0.3.35

func (a *ResourceList) Sub(b ResourceList)

func (*ResourceList) Unmarshal added in v0.3.35

func (m *ResourceList) Unmarshal(dAtA []byte) error

func (*ResourceList) XXX_DiscardUnknown added in v0.3.35

func (m *ResourceList) XXX_DiscardUnknown()

func (*ResourceList) XXX_Marshal added in v0.3.35

func (m *ResourceList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ResourceList) XXX_Merge added in v0.3.35

func (m *ResourceList) XXX_Merge(src proto.Message)

func (*ResourceList) XXX_Size added in v0.3.35

func (m *ResourceList) XXX_Size() int

func (*ResourceList) XXX_Unmarshal added in v0.3.35

func (m *ResourceList) XXX_Unmarshal(b []byte) error

type SchedulerReportingClient added in v0.3.35

type SchedulerReportingClient interface {
	// Return the most recent report for a given queue.
	// Returns not found if the scheduler has never considered this queue.
	// Only a limited number of reports are stored.
	GetQueueReport(ctx context.Context, in *Queue, opts ...grpc.CallOption) (*QueueReport, error)
	// Return the most recent scheduling report for a given job.
	// Returns not found if the scheduler has never attempted to schedule this job.
	// The total number of reports stored across all queues is limited, i.e.,
	// the report for a scheduled job may have been deleted to make room for newer reports.
	GetJobReport(ctx context.Context, in *JobId, opts ...grpc.CallOption) (*JobReport, error)
}

SchedulerReportingClient is the client API for SchedulerReporting service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewSchedulerReportingClient added in v0.3.35

func NewSchedulerReportingClient(cc *grpc.ClientConn) SchedulerReportingClient

type SchedulerReportingServer added in v0.3.35

type SchedulerReportingServer interface {
	// Return the most recent report for a given queue.
	// Returns not found if the scheduler has never considered this queue.
	// Only a limited number of reports are stored.
	GetQueueReport(context.Context, *Queue) (*QueueReport, error)
	// Return the most recent scheduling report for a given job.
	// Returns not found if the scheduler has never attempted to schedule this job.
	// The total number of reports stored across all queues is limited, i.e.,
	// the report for a scheduled job may have been deleted to make room for newer reports.
	GetJobReport(context.Context, *JobId) (*JobReport, error)
}

SchedulerReportingServer is the server API for SchedulerReporting service.

type UnimplementedSchedulerReportingServer added in v0.3.35

type UnimplementedSchedulerReportingServer struct {
}

UnimplementedSchedulerReportingServer can be embedded to have forward compatible implementations.

func (*UnimplementedSchedulerReportingServer) GetJobReport added in v0.3.35

func (*UnimplementedSchedulerReportingServer) GetQueueReport added in v0.3.35

type UnmatchedLabel added in v0.3.35

type UnmatchedLabel struct {
	Label     string
	PodValue  string
	NodeValue string
}

func (*UnmatchedLabel) String added in v0.3.35

func (r *UnmatchedLabel) String() string

type UnmatchedNodeSelector added in v0.3.35

type UnmatchedNodeSelector struct {
	NodeSelector *v1.NodeSelector
}

func (*UnmatchedNodeSelector) String added in v0.3.35

func (err *UnmatchedNodeSelector) String() string

type UntoleratedTaint added in v0.3.35

type UntoleratedTaint struct {
	Taint v1.Taint
}

func (*UntoleratedTaint) String added in v0.3.35

func (r *UntoleratedTaint) String() string

Jump to

Keyboard shortcuts

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