Documentation
¶
Index ¶
- Constants
- Variables
- func Convert_scheduling_PodGroupCondition_To_v1alpha1_PodGroupCondition(in *scheduling.PodGroupCondition, out *PodGroupCondition, s conversion.Scope) error
- func Convert_scheduling_PodGroupList_To_v1alpha1_PodGroupList(in *scheduling.PodGroupList, out *PodGroupList, s conversion.Scope) error
- func Convert_scheduling_PodGroupSpec_To_v1alpha1_PodGroupSpec(in *scheduling.PodGroupSpec, out *PodGroupSpec, s conversion.Scope) error
- func Convert_scheduling_PodGroupStatus_To_v1alpha1_PodGroupStatus(in *scheduling.PodGroupStatus, out *PodGroupStatus, s conversion.Scope) error
- func Convert_scheduling_PodGroup_To_v1alpha1_PodGroup(in *scheduling.PodGroup, out *PodGroup, s conversion.Scope) error
- func Convert_scheduling_QueueList_To_v1alpha1_QueueList(in *scheduling.QueueList, out *QueueList, s conversion.Scope) error
- func Convert_scheduling_QueueSpec_To_v1alpha1_QueueSpec(in *scheduling.QueueSpec, out *QueueSpec, s conversion.Scope) error
- func Convert_scheduling_QueueStatus_To_v1alpha1_QueueStatus(in *scheduling.QueueStatus, out *QueueStatus, s conversion.Scope) error
- func Convert_scheduling_Queue_To_v1alpha1_Queue(in *scheduling.Queue, out *Queue, s conversion.Scope) error
- func Convert_v1alpha1_PodGroupCondition_To_scheduling_PodGroupCondition(in *PodGroupCondition, out *scheduling.PodGroupCondition, s conversion.Scope) error
- func Convert_v1alpha1_PodGroupList_To_scheduling_PodGroupList(in *PodGroupList, out *scheduling.PodGroupList, s conversion.Scope) error
- func Convert_v1alpha1_PodGroupSpec_To_scheduling_PodGroupSpec(in *PodGroupSpec, out *scheduling.PodGroupSpec, s conversion.Scope) error
- func Convert_v1alpha1_PodGroupStatus_To_scheduling_PodGroupStatus(in *PodGroupStatus, out *scheduling.PodGroupStatus, s conversion.Scope) error
- func Convert_v1alpha1_PodGroup_To_scheduling_PodGroup(in *PodGroup, out *scheduling.PodGroup, s conversion.Scope) error
- func Convert_v1alpha1_QueueList_To_scheduling_QueueList(in *QueueList, out *scheduling.QueueList, s conversion.Scope) error
- func Convert_v1alpha1_QueueSpec_To_scheduling_QueueSpec(in *QueueSpec, out *scheduling.QueueSpec, s conversion.Scope) error
- func Convert_v1alpha1_QueueStatus_To_scheduling_QueueStatus(in *QueueStatus, out *scheduling.QueueStatus, s conversion.Scope) error
- func Convert_v1alpha1_Queue_To_scheduling_Queue(in *Queue, out *scheduling.Queue, s conversion.Scope) error
- func RegisterConversions(s *runtime.Scheme) error
- func Resource(resource string) schema.GroupResource
- type PodGroup
- type PodGroupCondition
- type PodGroupConditionDetail
- type PodGroupConditionType
- type PodGroupList
- type PodGroupPhase
- type PodGroupSpec
- type PodGroupStatus
- type Queue
- type QueueList
- type QueueSpec
- type QueueStatus
Constants ¶
const ( // GroupName is the group name used in this package. GroupName = "scheduling.incubator.k8s.io" // GroupVersion is the version of scheduling group GroupVersion = "v1alpha1" )
const ( // PodFailedReason is probed if pod of PodGroup failed PodFailedReason string = "PodFailed" // PodDeletedReason is probed if pod of PodGroup deleted PodDeletedReason string = "PodDeleted" // NotEnoughResourcesReason is probed if there're not enough resources to schedule pods NotEnoughResourcesReason string = "NotEnoughResources" // NotEnoughPodsReason is probed if there're not enough tasks compared to `spec.minMember` NotEnoughPodsReason string = "NotEnoughTasks" )
const GroupNameAnnotationKey = "scheduling.k8s.io/group-name"
GroupNameAnnotationKey is the annotation key of Pod to identify which PodGroup it belongs to.
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: GroupVersion}
SchemeGroupVersion is the group version used to register these objects.
Functions ¶
func Convert_scheduling_PodGroupCondition_To_v1alpha1_PodGroupCondition ¶
func Convert_scheduling_PodGroupCondition_To_v1alpha1_PodGroupCondition(in *scheduling.PodGroupCondition, out *PodGroupCondition, s conversion.Scope) error
Convert_scheduling_PodGroupCondition_To_v1alpha1_PodGroupCondition is an autogenerated conversion function.
func Convert_scheduling_PodGroupList_To_v1alpha1_PodGroupList ¶
func Convert_scheduling_PodGroupList_To_v1alpha1_PodGroupList(in *scheduling.PodGroupList, out *PodGroupList, s conversion.Scope) error
Convert_scheduling_PodGroupList_To_v1alpha1_PodGroupList is an autogenerated conversion function.
func Convert_scheduling_PodGroupSpec_To_v1alpha1_PodGroupSpec ¶
func Convert_scheduling_PodGroupSpec_To_v1alpha1_PodGroupSpec(in *scheduling.PodGroupSpec, out *PodGroupSpec, s conversion.Scope) error
Convert_scheduling_PodGroupSpec_To_v1alpha1_PodGroupSpec is an autogenerated conversion function.
func Convert_scheduling_PodGroupStatus_To_v1alpha1_PodGroupStatus ¶
func Convert_scheduling_PodGroupStatus_To_v1alpha1_PodGroupStatus(in *scheduling.PodGroupStatus, out *PodGroupStatus, s conversion.Scope) error
Convert_scheduling_PodGroupStatus_To_v1alpha1_PodGroupStatus is an autogenerated conversion function.
func Convert_scheduling_PodGroup_To_v1alpha1_PodGroup ¶
func Convert_scheduling_PodGroup_To_v1alpha1_PodGroup(in *scheduling.PodGroup, out *PodGroup, s conversion.Scope) error
Convert_scheduling_PodGroup_To_v1alpha1_PodGroup is an autogenerated conversion function.
func Convert_scheduling_QueueList_To_v1alpha1_QueueList ¶
func Convert_scheduling_QueueList_To_v1alpha1_QueueList(in *scheduling.QueueList, out *QueueList, s conversion.Scope) error
Convert_scheduling_QueueList_To_v1alpha1_QueueList is an autogenerated conversion function.
func Convert_scheduling_QueueSpec_To_v1alpha1_QueueSpec ¶
func Convert_scheduling_QueueSpec_To_v1alpha1_QueueSpec(in *scheduling.QueueSpec, out *QueueSpec, s conversion.Scope) error
func Convert_scheduling_QueueStatus_To_v1alpha1_QueueStatus ¶
func Convert_scheduling_QueueStatus_To_v1alpha1_QueueStatus(in *scheduling.QueueStatus, out *QueueStatus, s conversion.Scope) error
func Convert_scheduling_Queue_To_v1alpha1_Queue ¶
func Convert_scheduling_Queue_To_v1alpha1_Queue(in *scheduling.Queue, out *Queue, s conversion.Scope) error
Convert_scheduling_Queue_To_v1alpha1_Queue is an autogenerated conversion function.
func Convert_v1alpha1_PodGroupCondition_To_scheduling_PodGroupCondition ¶
func Convert_v1alpha1_PodGroupCondition_To_scheduling_PodGroupCondition(in *PodGroupCondition, out *scheduling.PodGroupCondition, s conversion.Scope) error
Convert_v1alpha1_PodGroupCondition_To_scheduling_PodGroupCondition is an autogenerated conversion function.
func Convert_v1alpha1_PodGroupList_To_scheduling_PodGroupList ¶
func Convert_v1alpha1_PodGroupList_To_scheduling_PodGroupList(in *PodGroupList, out *scheduling.PodGroupList, s conversion.Scope) error
Convert_v1alpha1_PodGroupList_To_scheduling_PodGroupList is an autogenerated conversion function.
func Convert_v1alpha1_PodGroupSpec_To_scheduling_PodGroupSpec ¶
func Convert_v1alpha1_PodGroupSpec_To_scheduling_PodGroupSpec(in *PodGroupSpec, out *scheduling.PodGroupSpec, s conversion.Scope) error
Convert_v1alpha1_PodGroupSpec_To_scheduling_PodGroupSpec is an autogenerated conversion function.
func Convert_v1alpha1_PodGroupStatus_To_scheduling_PodGroupStatus ¶
func Convert_v1alpha1_PodGroupStatus_To_scheduling_PodGroupStatus(in *PodGroupStatus, out *scheduling.PodGroupStatus, s conversion.Scope) error
Convert_v1alpha1_PodGroupStatus_To_scheduling_PodGroupStatus is an autogenerated conversion function.
func Convert_v1alpha1_PodGroup_To_scheduling_PodGroup ¶
func Convert_v1alpha1_PodGroup_To_scheduling_PodGroup(in *PodGroup, out *scheduling.PodGroup, s conversion.Scope) error
Convert_v1alpha1_PodGroup_To_scheduling_PodGroup is an autogenerated conversion function.
func Convert_v1alpha1_QueueList_To_scheduling_QueueList ¶
func Convert_v1alpha1_QueueList_To_scheduling_QueueList(in *QueueList, out *scheduling.QueueList, s conversion.Scope) error
Convert_v1alpha1_QueueList_To_scheduling_QueueList is an autogenerated conversion function.
func Convert_v1alpha1_QueueSpec_To_scheduling_QueueSpec ¶
func Convert_v1alpha1_QueueSpec_To_scheduling_QueueSpec(in *QueueSpec, out *scheduling.QueueSpec, s conversion.Scope) error
Convert_v1alpha1_QueueSpec_To_scheduling_QueueSpec is an autogenerated conversion function.
func Convert_v1alpha1_QueueStatus_To_scheduling_QueueStatus ¶
func Convert_v1alpha1_QueueStatus_To_scheduling_QueueStatus(in *QueueStatus, out *scheduling.QueueStatus, s conversion.Scope) error
Convert_v1alpha1_QueueStatus_To_scheduling_QueueStatus is an autogenerated conversion function.
func Convert_v1alpha1_Queue_To_scheduling_Queue ¶
func Convert_v1alpha1_Queue_To_scheduling_Queue(in *Queue, out *scheduling.Queue, s conversion.Scope) error
Convert_v1alpha1_Queue_To_scheduling_Queue is an autogenerated conversion function.
func RegisterConversions ¶
RegisterConversions adds conversion functions to the given scheme. Public to allow building arbitrary schemes.
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group-qualified GroupResource.
Types ¶
type PodGroup ¶
type PodGroup struct {
metav1.TypeMeta `json:",inline"`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Specification of the desired behavior of the pod group.
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
// +optional
Spec PodGroupSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// Status represents the current information about a pod group.
// This data may not be up to date.
// +optional
Status PodGroupStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
PodGroup is a collection of Pod; used for batch workload.
func (*PodGroup) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodGroup.
func (*PodGroup) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodGroup) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodGroupCondition ¶
type PodGroupCondition struct {
// Type is the type of the condition
Type PodGroupConditionType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type"`
// Status is the status of the condition.
Status v1.ConditionStatus `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"`
// The ID of condition transition.
TransitionID string `json:"transitionID,omitempty" protobuf:"bytes,3,opt,name=transitionID"`
// Last time the phase transitioned from another to current phase.
// +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,4,opt,name=lastTransitionTime"`
// Unique, one-word, CamelCase reason for the phase's last transition.
// +optional
Reason string `json:"reason,omitempty" protobuf:"bytes,5,opt,name=reason"`
// Human-readable message indicating details about last transition.
// +optional
Message string `json:"message,omitempty" protobuf:"bytes,6,opt,name=message"`
}
PodGroupCondition contains details for the current state of this pod group.
func (*PodGroupCondition) DeepCopy ¶
func (in *PodGroupCondition) DeepCopy() *PodGroupCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodGroupCondition.
func (*PodGroupCondition) DeepCopyInto ¶
func (in *PodGroupCondition) DeepCopyInto(out *PodGroupCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodGroupConditionDetail ¶
type PodGroupConditionDetail string
const ( // PodGroupReady is that PodGroup has reached scheduling restriction PodGroupReady PodGroupConditionDetail = "pod group is ready" // PodGroupNotReady is that PodGroup has not yet reached the scheduling restriction PodGroupNotReady PodGroupConditionDetail = "pod group is not ready" )
type PodGroupConditionType ¶
type PodGroupConditionType string
const ( // PodGroupUnschedulableType is Unschedulable event type PodGroupUnschedulableType PodGroupConditionType = "Unschedulable" // PodGroupScheduled is scheduled event type PodGroupScheduled PodGroupConditionType = "Scheduled" )
type PodGroupList ¶
type PodGroupList struct {
metav1.TypeMeta `json:",inline"`
// Standard list metadata
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// items is the list of PodGroup
Items []PodGroup `json:"items" protobuf:"bytes,2,rep,name=items"`
}
PodGroupList is a collection of pod groups.
func (*PodGroupList) DeepCopy ¶
func (in *PodGroupList) DeepCopy() *PodGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodGroupList.
func (*PodGroupList) DeepCopyInto ¶
func (in *PodGroupList) DeepCopyInto(out *PodGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodGroupList) DeepCopyObject ¶
func (in *PodGroupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodGroupPhase ¶
type PodGroupPhase string
PodGroupPhase is the phase of a pod group at the current time.
const ( // PodPending means the pod group has been accepted by the system, but scheduler can not allocate // enough resources to it. PodGroupPending PodGroupPhase = "Pending" // PodRunning means `spec.minMember` pods of PodGroups has been in running phase. PodGroupRunning PodGroupPhase = "Running" // PodGroupUnknown means part of `spec.minMember` pods are running but the other part can not // be scheduled, e.g. not enough resource; scheduler will wait for related controller to recover it. PodGroupUnknown PodGroupPhase = "Unknown" // PodGroupInqueue means controllers can start to create pods, // is a new state between PodGroupPending and PodGroupRunning PodGroupInqueue PodGroupPhase = "Inqueue" )
These are the valid phase of podGroups.
type PodGroupSpec ¶
type PodGroupSpec struct {
// MinMember defines the minimal number of members/tasks to run the pod group;
// if there's not enough resources to start all tasks, the scheduler
// will not start anyone.
MinMember int32 `json:"minMember,omitempty" protobuf:"bytes,1,opt,name=minMember"`
// Queue defines the queue to allocate resource for PodGroup; if queue does not exist,
// the PodGroup will not be scheduled. Defaults to `default` Queue with the lowest weight.
// +optional
Queue string `json:"queue,omitempty" protobuf:"bytes,2,opt,name=queue"`
// If specified, indicates the PodGroup's priority. "system-node-critical" and
// "system-cluster-critical" are two special keywords which indicate the
// highest priorities with the former being the highest priority. Any other
// name must be defined by creating a PriorityClass object with that name.
// If not specified, the PodGroup priority will be default or zero if there is no
// default.
// +optional
PriorityClassName string `json:"priorityClassName,omitempty" protobuf:"bytes,3,opt,name=priorityClassName"`
// MinResources defines the minimal resource of members/tasks to run the pod group;
// if there's not enough resources to start all tasks, the scheduler
// will not start anyone.
MinResources *v1.ResourceList `json:"minResources,omitempty" protobuf:"bytes,4,opt,name=minResources"`
}
PodGroupSpec represents the template of a pod group.
func (*PodGroupSpec) DeepCopy ¶
func (in *PodGroupSpec) DeepCopy() *PodGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodGroupSpec.
func (*PodGroupSpec) DeepCopyInto ¶
func (in *PodGroupSpec) DeepCopyInto(out *PodGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodGroupStatus ¶
type PodGroupStatus struct {
// Current phase of PodGroup.
Phase PodGroupPhase `json:"phase,omitempty" protobuf:"bytes,1,opt,name=phase"`
// The conditions of PodGroup.
// +optional
Conditions []PodGroupCondition `json:"conditions,omitempty" protobuf:"bytes,2,opt,name=conditions"`
// The number of actively running pods.
// +optional
Running int32 `json:"running,omitempty" protobuf:"bytes,3,opt,name=running"`
// The number of pods which reached phase Succeeded.
// +optional
Succeeded int32 `json:"succeeded,omitempty" protobuf:"bytes,4,opt,name=succeeded"`
// The number of pods which reached phase Failed.
// +optional
Failed int32 `json:"failed,omitempty" protobuf:"bytes,5,opt,name=failed"`
}
PodGroupStatus represents the current state of a pod group.
func (*PodGroupStatus) DeepCopy ¶
func (in *PodGroupStatus) DeepCopy() *PodGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodGroupStatus.
func (*PodGroupStatus) DeepCopyInto ¶
func (in *PodGroupStatus) DeepCopyInto(out *PodGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Queue ¶
type Queue struct {
metav1.TypeMeta `json:",inline"`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Specification of the desired behavior of the queue.
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
// +optional
Spec QueueSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// The status of queue.
// +optional
Status QueueStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
Queue is a queue of PodGroup.
func (*Queue) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Queue.
func (*Queue) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Queue) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type QueueList ¶
type QueueList struct {
metav1.TypeMeta `json:",inline"`
// Standard list metadata
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// items is the list of PodGroup
Items []Queue `json:"items" protobuf:"bytes,2,rep,name=items"`
}
QueueList is a collection of queues.
func (*QueueList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueList.
func (*QueueList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*QueueList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type QueueSpec ¶
type QueueSpec struct {
Weight int32 `json:"weight,omitempty" protobuf:"bytes,1,opt,name=weight"`
Capability v1.ResourceList `json:"capability,omitempty" protobuf:"bytes,2,opt,name=capability"`
}
QueueSpec represents the template of Queue.
func (*QueueSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueSpec.
func (*QueueSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type QueueStatus ¶
type QueueStatus struct {
// The number of 'Unknown' PodGroup in this queue.
Unknown int32 `json:"unknown,omitempty" protobuf:"bytes,1,opt,name=unknown"`
// The number of 'Pending' PodGroup in this queue.
Pending int32 `json:"pending,omitempty" protobuf:"bytes,2,opt,name=pending"`
// The number of 'Running' PodGroup in this queue.
Running int32 `json:"running,omitempty" protobuf:"bytes,3,opt,name=running"`
}
QueueStatus represents the status of Queue.
func (*QueueStatus) DeepCopy ¶
func (in *QueueStatus) DeepCopy() *QueueStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueStatus.
func (*QueueStatus) DeepCopyInto ¶
func (in *QueueStatus) DeepCopyInto(out *QueueStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.