Documentation
¶
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type AppWrapper
- type AppWrapperCondition
- type AppWrapperConditionType
- type AppWrapperGenericResource
- type AppWrapperList
- type AppWrapperResourceList
- type AppWrapperService
- type AppWrapperSpec
- type AppWrapperState
- type AppWrapperStatus
- type ClusterReference
- type ClusterSchedulingSpec
- type CustomPodResourceTemplate
- type DispatchDurationSpec
- type DispatchingWindowSpec
- type PendingPodSpec
- type RequeuingTemplate
- type ResourceName
- type ResourceType
- type ScheduleTimeSpec
- type SchedulingSpec
- type SchedulingSpecList
- type SchedulingSpecTemplate
Constants ¶
const AppWrapperAnnotationKey = "appwrapper.mcad.ibm.com/appwrapper-name"
AppWrapperAnnotationKey is the annotation key of Pod to identify which AppWrapper it belongs to.
const AppWrapperPlural string = "appwrappers"
const GroupName = "workload.codeflare.dev"
GroupName is the group name used in this package.
const SchedulingSpecPlural = "schedulingspecs"
SchedulingSpecPlural is the plural of SchedulingSpec
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"}
SchemeGroupVersion is the group version used to register these objects.
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group-qualified GroupResource.
Types ¶
type AppWrapper ¶
type AppWrapper struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
Spec AppWrapperSpec `json:"spec"`
Status AppWrapperStatus `json:"status,omitempty"`
}
Definition of AppWrapper class
func (*AppWrapper) DeepCopy ¶
func (in *AppWrapper) DeepCopy() *AppWrapper
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppWrapper.
func (*AppWrapper) DeepCopyInto ¶
func (in *AppWrapper) DeepCopyInto(out *AppWrapper)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AppWrapper) DeepCopyObject ¶
func (in *AppWrapper) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AppWrapperCondition ¶
type AppWrapperCondition struct {
// Type of AppWrapper condition.
Type AppWrapperConditionType `json:"type"`
// Status of the condition, one of True, False, Unknown.
Status v1.ConditionStatus `json:"status"`
// The last time this condition was updated.
LastUpdateMicroTime metav1.MicroTime `json:"lastUpdateMicroTime,omitempty"`
// Last time the condition transitioned from one status to another.
LastTransitionMicroTime metav1.MicroTime `json:"lastTransitionMicroTime,omitempty"`
// The reason for the condition's last transition.
Reason string `json:"reason,omitempty"`
// A human-readable message indicating details about the transition.
Message string `json:"message,omitempty"`
}
AppWrapperCondition describes the state of an AppWrapper at a certain point.
func (*AppWrapperCondition) DeepCopy ¶
func (in *AppWrapperCondition) DeepCopy() *AppWrapperCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppWrapperCondition.
func (*AppWrapperCondition) DeepCopyInto ¶
func (in *AppWrapperCondition) DeepCopyInto(out *AppWrapperCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppWrapperConditionType ¶
type AppWrapperConditionType string
const ( AppWrapperCondInit AppWrapperConditionType = "Init" AppWrapperCondQueueing AppWrapperConditionType = "Queueing" AppWrapperCondHeadOfLine AppWrapperConditionType = "HeadOfLine" AppWrapperCondBackoff AppWrapperConditionType = "Backoff" AppWrapperCondDispatched AppWrapperConditionType = "Dispatched" AppWrapperCondRunning AppWrapperConditionType = "Running" AppWrapperCondPreemptCandidate AppWrapperConditionType = "PreemptCandidate" AppWrapperCondPreempted AppWrapperConditionType = "Preempted" AppWrapperCondDeleted AppWrapperConditionType = "Deleted" AppWrapperCondFailed AppWrapperConditionType = "Failed" AppWrapperCondCompleted AppWrapperConditionType = "Completed" AppWrapperCondRunningHoldCompletion AppWrapperConditionType = "RunningHoldCompletion" )
type AppWrapperGenericResource ¶
type AppWrapperGenericResource struct {
// Replicas is the number of desired replicas
DesiredAvailable int32 `json:"replicas,omitempty" protobuf:"bytes,2,opt,name=desiredavailable"`
// The minimal available pods to run for this AppWrapper; the default value is nil
MinAvailable *int32 `json:"minavailable,omitempty" protobuf:"bytes,3,opt,name=minavailable"`
// The number of allocated replicas from this resource type
// +optional
Allocated int32 `json:"allocated"`
// The priority of this resource
// +optional
Priority int32 `json:"priority"`
// The increasing rate of priority value for this resource
// +kubebuilder:validation:Type=number
// +kubebuilder:validation:Format=float
// +optional
PrioritySlope float64 `json:"priorityslope"`
// The template for the resource; it is now a raw text because we don't know for what resource
// it should be instantiated
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:EmbeddedResource
GenericTemplate runtime.RawExtension `json:"generictemplate"`
// Optional section that specifies resource requirements for non-standard k8s resources,
// follows same format as that of standard k8s resources.
CustomPodResources []CustomPodResourceTemplate `json:"custompodresources,omitempty"`
// Optional field that drives completion status of this AppWrapper.
// This field within an item of an AppWrapper determines the full state of the AppWrapper.
// The completionstatus field contains a list of conditions that make the associate item considered
// completed, for instance:
// - completion conditions could be "Complete" or "Failed".
// The associated item's level .status.conditions[].type field is monitored for any one of these conditions.
// Once all items with this option is set and the conditionstatus is met the entire AppWrapper state will be changed to one of the valid AppWrapper completion state.
// Note:
// - this is an AND operation for all items where this option is set.
// See the list of AppWrapper states for a list of valid complete states.
CompletionStatus string `json:"completionstatus,omitempty"`
}
AppWrapperGenericResource is App Wrapper aggregation resource
func (*AppWrapperGenericResource) DeepCopy ¶
func (in *AppWrapperGenericResource) DeepCopy() *AppWrapperGenericResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppWrapperGenericResource.
func (*AppWrapperGenericResource) DeepCopyInto ¶
func (in *AppWrapperGenericResource) DeepCopyInto(out *AppWrapperGenericResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppWrapperList ¶
type AppWrapperList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata"`
Items []AppWrapper `json:"items"`
}
AppWrapperList is a collection of AppWrappers.
func (*AppWrapperList) DeepCopy ¶
func (in *AppWrapperList) DeepCopy() *AppWrapperList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppWrapperList.
func (*AppWrapperList) DeepCopyInto ¶
func (in *AppWrapperList) DeepCopyInto(out *AppWrapperList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AppWrapperList) DeepCopyObject ¶
func (in *AppWrapperList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AppWrapperResourceList ¶
type AppWrapperResourceList struct {
// +optional
GenericItems []AppWrapperGenericResource `json:"GenericItems"`
}
a collection of AppWrapperResource
func (*AppWrapperResourceList) DeepCopy ¶
func (in *AppWrapperResourceList) DeepCopy() *AppWrapperResourceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppWrapperResourceList.
func (*AppWrapperResourceList) DeepCopyInto ¶
func (in *AppWrapperResourceList) DeepCopyInto(out *AppWrapperResourceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppWrapperService ¶
type AppWrapperService struct {
Spec v1.ServiceSpec `json:"spec"`
}
AppWrapperService is App Wrapper service definition
func (*AppWrapperService) DeepCopy ¶
func (in *AppWrapperService) DeepCopy() *AppWrapperService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppWrapperService.
func (*AppWrapperService) DeepCopyInto ¶
func (in *AppWrapperService) DeepCopyInto(out *AppWrapperService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppWrapperSpec ¶
type AppWrapperSpec struct {
// +optional
Priority int32 `json:"priority,omitempty"`
// +kubebuilder:validation:Type=number
// +kubebuilder:validation:Format=float
// +optional
PrioritySlope float64 `json:"priorityslope,omitempty"`
// +optional
Service AppWrapperService `json:"service"`
AggrResources AppWrapperResourceList `json:"resources"`
Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,1,opt,name=selector"`
// SchedSpec specifies the parameters used for scheduling generic items wrapped inside AppWrappers.
// It defines the policy for requeuing jobs based on the number of running pods.
SchedSpec SchedulingSpecTemplate `json:"schedulingSpec,omitempty" protobuf:"bytes,2,opt,name=schedulingSpec"`
}
AppWrapperSpec describes how the App Wrapper will look like.
func (*AppWrapperSpec) DeepCopy ¶
func (in *AppWrapperSpec) DeepCopy() *AppWrapperSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppWrapperSpec.
func (*AppWrapperSpec) DeepCopyInto ¶
func (in *AppWrapperSpec) DeepCopyInto(out *AppWrapperSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppWrapperState ¶
type AppWrapperState string
const ( AppWrapperStateEnqueued AppWrapperState = "Pending" AppWrapperStateActive AppWrapperState = "Running" AppWrapperStateDeleted AppWrapperState = "Deleted" AppWrapperStateFailed AppWrapperState = "Failed" AppWrapperStateCompleted AppWrapperState = "Completed" AppWrapperStateRunningHoldCompletion AppWrapperState = "RunningHoldCompletion" )
enqueued, active, deleting, succeeded, failed
type AppWrapperStatus ¶
type AppWrapperStatus struct {
// The number of pending pods.
// +optional
Pending int32 `json:"pending,omitempty" protobuf:"bytes,1,opt,name=pending"`
// +optional
Running int32 `json:"running,omitempty" protobuf:"bytes,1,opt,name=running"`
// The number of resources which reached phase Succeeded.
// +optional
Succeeded int32 `json:"Succeeded,omitempty" protobuf:"bytes,2,opt,name=succeeded"`
// The number of resources which reached phase Failed.
// +optional
Failed int32 `json:"failed,omitempty" protobuf:"bytes,3,opt,name=failed"`
// The minimal available resources to run for this AppWrapper (is this different from the MinAvailable from JobStatus)
// +optional
MinAvailable int32 `json:"template,omitempty" protobuf:"bytes,4,opt,name=template"`
// Can run?
CanRun bool `json:"canrun,omitempty" protobuf:"bytes,1,opt,name=canrun"`
// Is Dispatched?
IsDispatched bool `json:"isdispatched,omitempty" protobuf:"bytes,1,opt,name=isdispatched"`
// State - Pending, Running, Failed, Deleted
State AppWrapperState `json:"state,omitempty"`
Message string `json:"message,omitempty"`
// System defined Priority
// +kubebuilder:validation:Type=number
// +kubebuilder:validation:Format=float
SystemPriority float64 `json:"systempriority,omitempty"`
// State of QueueJob - Init, Queueing, HeadOfLine, Rejoining, ...
QueueJobState AppWrapperConditionType `json:"queuejobstate,omitempty"`
// Microsecond level timestamp when controller first sees QueueJob (by Informer)
ControllerFirstTimestamp metav1.MicroTime `json:"controllerfirsttimestamp,omitempty"`
// Microsecond level timestamp when controller first dispatches the AppWrapper
ControllerFirstDispatchTimestamp metav1.MicroTime `json:"controllerfirstdispatchtimestamp,omitempty"`
// Tell Informer to ignore this update message (do not generate a controller event)
FilterIgnore bool `json:"filterignore,omitempty"`
// Indicate sender of this message (extremely useful for debugging)
Sender string `json:"sender,omitempty"`
// Indicate if message is a duplicate (for Informer to recognize duplicate messages)
Local bool `json:"local,omitempty"`
// Represents the latest available observations of the AppWrapper's current condition.
Conditions []AppWrapperCondition `json:"conditions,omitempty"`
// Represents the latest available observations of pods belonging to the AppWrapper.
PendingPodConditions []PendingPodSpec `json:"pendingpodconditions,omitempty"`
// The number of CPU consumed by all pods belonging to the AppWrapper.
TotalCPU int32 `json:"totalcpu,omitempty"`
// The amount of memory consumed by all pods belonging to the AppWrapper.
TotalMemory int32 `json:"totalmemory,omitempty"`
// The total number of GPUs consumed by all pods belonging to the AppWrapper.
TotalGPU int32 `json:"totalgpu,omitempty"`
// Field to keep track of total number of seconds spent in requeueing
RequeueingTimeInSeconds int `json:"requeueingTimeInSeconds,omitempty"`
// Field to keep track of how many times a requeuing event has been triggered
NumberOfRequeueings int `json:"numberOfRequeueings,omitempty"`
}
AppWrapperStatus represents the current state of a AppWrapper
func (*AppWrapperStatus) DeepCopy ¶
func (in *AppWrapperStatus) DeepCopy() *AppWrapperStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppWrapperStatus.
func (*AppWrapperStatus) DeepCopyInto ¶
func (in *AppWrapperStatus) DeepCopyInto(out *AppWrapperStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterReference ¶
type ClusterReference struct {
Name string `json:"name"`
}
func (*ClusterReference) DeepCopy ¶
func (in *ClusterReference) DeepCopy() *ClusterReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterReference.
func (*ClusterReference) DeepCopyInto ¶
func (in *ClusterReference) DeepCopyInto(out *ClusterReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSchedulingSpec ¶
type ClusterSchedulingSpec struct {
Clusters []ClusterReference `json:"clusters,omitempty"`
ClusterSelector *metav1.LabelSelector `json:"clusterSelector,omitempty"`
}
func (*ClusterSchedulingSpec) DeepCopy ¶
func (in *ClusterSchedulingSpec) DeepCopy() *ClusterSchedulingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSchedulingSpec.
func (*ClusterSchedulingSpec) DeepCopyInto ¶
func (in *ClusterSchedulingSpec) DeepCopyInto(out *ClusterSchedulingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CustomPodResourceTemplate ¶
type CustomPodResourceTemplate struct {
Replicas int `json:"replicas"`
// todo: replace with
// Containers []Container Contain v1.ResourceRequirements
Requests v1.ResourceList `json:"requests"`
// +optional
Limits v1.ResourceList `json:"limits"`
}
func (*CustomPodResourceTemplate) DeepCopy ¶
func (in *CustomPodResourceTemplate) DeepCopy() *CustomPodResourceTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomPodResourceTemplate.
func (*CustomPodResourceTemplate) DeepCopyInto ¶
func (in *CustomPodResourceTemplate) DeepCopyInto(out *CustomPodResourceTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DispatchDurationSpec ¶
type DispatchDurationSpec struct {
Expected int `json:"expected,omitempty"`
Limit int `json:"limit,omitempty"`
Overrun bool `json:"overrun,omitempty"`
}
func (*DispatchDurationSpec) DeepCopy ¶
func (in *DispatchDurationSpec) DeepCopy() *DispatchDurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DispatchDurationSpec.
func (*DispatchDurationSpec) DeepCopyInto ¶
func (in *DispatchDurationSpec) DeepCopyInto(out *DispatchDurationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DispatchingWindowSpec ¶
type DispatchingWindowSpec struct {
Start ScheduleTimeSpec `json:"start,omitempty"`
End ScheduleTimeSpec `json:"end,omitempty"`
}
func (*DispatchingWindowSpec) DeepCopy ¶
func (in *DispatchingWindowSpec) DeepCopy() *DispatchingWindowSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DispatchingWindowSpec.
func (*DispatchingWindowSpec) DeepCopyInto ¶
func (in *DispatchingWindowSpec) DeepCopyInto(out *DispatchingWindowSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PendingPodSpec ¶
type PendingPodSpec struct {
PodName string `json:"podname,omitempty"`
Conditions []v1.PodCondition `json:"conditions,omitempty"`
}
func (*PendingPodSpec) DeepCopy ¶
func (in *PendingPodSpec) DeepCopy() *PendingPodSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PendingPodSpec.
func (*PendingPodSpec) DeepCopyInto ¶
func (in *PendingPodSpec) DeepCopyInto(out *PendingPodSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RequeuingTemplate ¶
type RequeuingTemplate struct {
// Value to keep track of the initial wait time.
// Users cannot set this as it is taken from 'timeInSeconds'.
InitialTimeInSeconds int `json:"initialTimeInSeconds,omitempty" protobuf:"bytes,1,rep,name=initialTimeInSeconds"`
// Initial waiting time before requeuing conditions are checked. This value is
// specified by the user, but it may grow as requeuing events happen.
// +kubebuilder:default=300
TimeInSeconds int `json:"timeInSeconds,omitempty" protobuf:"bytes,2,rep,name=timeInSeconds"`
// Maximum waiting time for requeuing checks.
// +kubebuilder:default=0
MaxTimeInSeconds int `json:"maxTimeInSeconds,omitempty" protobuf:"bytes,3,rep,name=maxTimeInSeconds"`
// Growth strategy to increase the waiting time between requeuing checks.
// The values available are 'exponential', 'linear', or 'none'.
// For example, 'exponential' growth would double the 'timeInSeconds' value
// every time a requeuing event is triggered.
// If the string value is misspelled or not one of the possible options,
// the growth behavior is defaulted to 'none'.
// +kubebuilder:default=exponential
GrowthType string `json:"growthType,omitempty" protobuf:"bytes,4,rep,name=growthType"`
// Field to keep track of how many times a requeuing event has been triggered.
// +kubebuilder:default=0
NumRequeuings int `json:"numRequeuings,omitempty" protobuf:"bytes,5,rep,name=numRequeuings"`
// Maximum number of requeuing events allowed. Once this value is reached (e.g.,
// 'numRequeuings = maxNumRequeuings', no more requeuing checks are performed and the generic
// items are stopped and removed from the cluster (AppWrapper remains deployed).
// +kubebuilder:default=0
MaxNumRequeuings int `json:"maxNumRequeuings,omitempty" protobuf:"bytes,6,rep,name=maxNumRequeuings"`
}
func (*RequeuingTemplate) DeepCopy ¶
func (in *RequeuingTemplate) DeepCopy() *RequeuingTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequeuingTemplate.
func (*RequeuingTemplate) DeepCopyInto ¶
func (in *RequeuingTemplate) DeepCopyInto(out *RequeuingTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceName ¶
type ResourceName string
type ResourceType ¶
type ResourceType string
App Wrapper resources type
const (
ResourceTypePod ResourceType = "Pod"
)
type ScheduleTimeSpec ¶
type ScheduleTimeSpec struct {
Min metav1.Time `json:"minTimestamp,omitempty"`
Desired metav1.Time `json:"desiredTimestamp,omitempty"`
Max metav1.Time `json:"maxTimestamp,omitempty"`
}
func (*ScheduleTimeSpec) DeepCopy ¶
func (in *ScheduleTimeSpec) DeepCopy() *ScheduleTimeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleTimeSpec.
func (*ScheduleTimeSpec) DeepCopyInto ¶
func (in *ScheduleTimeSpec) DeepCopyInto(out *ScheduleTimeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SchedulingSpec ¶
type SchedulingSpec struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata"`
Spec SchedulingSpecTemplate `json:"spec,omitempty" protobuf:"bytes,1,rep,name=spec"`
}
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*SchedulingSpec) DeepCopy ¶
func (in *SchedulingSpec) DeepCopy() *SchedulingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingSpec.
func (*SchedulingSpec) DeepCopyInto ¶
func (in *SchedulingSpec) DeepCopyInto(out *SchedulingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SchedulingSpec) DeepCopyObject ¶
func (in *SchedulingSpec) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SchedulingSpecList ¶
type SchedulingSpecList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata"`
Items []SchedulingSpec `json:"items"`
}
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*SchedulingSpecList) DeepCopy ¶
func (in *SchedulingSpecList) DeepCopy() *SchedulingSpecList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingSpecList.
func (*SchedulingSpecList) DeepCopyInto ¶
func (in *SchedulingSpecList) DeepCopyInto(out *SchedulingSpecList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SchedulingSpecList) DeepCopyObject ¶
func (in *SchedulingSpecList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SchedulingSpecTemplate ¶
type SchedulingSpecTemplate struct {
NodeSelector map[string]string `json:"nodeSelector,omitempty" protobuf:"bytes,1,rep,name=nodeSelector"`
// Expected number of pods in running and/or completed state.
// Requeuing is triggered when the number of running/completed pods is not equal to this value.
// When not specified, requeuing is disabled and no check is performed.
MinAvailable int `json:"minAvailable,omitempty" protobuf:"bytes,2,rep,name=minAvailable"`
// Specification of the requeuing strategy based on waiting time.
// Values in this field control how often the pod check should happen,
// and if requeuing has reached its maximum number of times.
Requeuing RequeuingTemplate `json:"requeuing,omitempty" protobuf:"bytes,1,rep,name=requeuing"`
// Wall clock duration time of appwrapper in seconds.
DispatchDuration DispatchDurationSpec `json:"dispatchDuration,omitempty"`
}
func (*SchedulingSpecTemplate) DeepCopy ¶
func (in *SchedulingSpecTemplate) DeepCopy() *SchedulingSpecTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingSpecTemplate.
func (*SchedulingSpecTemplate) DeepCopyInto ¶
func (in *SchedulingSpecTemplate) DeepCopyInto(out *SchedulingSpecTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.