v1

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2023 License: Apache-2.0 Imports: 15 Imported by: 41

Documentation

Overview

Package v1 is the v1 version of the API. +groupName=kubeflow.org

Package v1 contains API Schema definitions for the kubeflow.org v1 API group +kubebuilder:object:generate=true +groupName=kubeflow.org

Index

Constants

View Source
const (
	// ReplicaIndexLabel represents the label key for the replica-index, e.g. 0, 1, 2.. etc
	ReplicaIndexLabel = "training.kubeflow.org/replica-index"

	// ReplicaTypeLabel represents the label key for the replica-type, e.g. ps, worker etc.
	ReplicaTypeLabel = "training.kubeflow.org/replica-type"

	// OperatorNameLabel represents the label key for the operator name, e.g. tf-operator, mpi-operator, etc.
	OperatorNameLabel = "training.kubeflow.org/operator-name"

	// JobNameLabel represents the label key for the job name, the value is the job name.
	JobNameLabel = "training.kubeflow.org/job-name"

	// JobRoleLabel represents the label key for the job role, e.g. master.
	JobRoleLabel = "training.kubeflow.org/job-role"
)
View Source
const (
	// MPIJobDefaultPortName is name of the port used to communicate between Master and Workers.
	MPIJobDefaultPortName = "mpi-port"
	// MPIJobDefaultPort is default value of the port.
	MPIJobDefaultPort = 9999
	// MPIJobDefaultContainerName is the name of the MPIJob container.
	MPIJobDefaultContainerName = "mpi"
	// MPIJobDefaultRestartPolicy is default RestartPolicy for ReplicaSpec.
	MPIJobDefaultRestartPolicy = RestartPolicyNever
	MPIJobKind                 = "MPIJob"
	// MPIJobPlural is the MPIJobPlural for TFJob.
	MPIJobPlural = "mpijobs"
	// MPIJobSingular is the singular for TFJob.
	MPIJobSingular = "mpijob"
	// MPIJobFrameworkName is the name of the ML Framework
	MPIJobFrameworkName = "mpi"
	// MPIJobReplicaTypeLauncher is the type for launcher replica.
	MPIJobReplicaTypeLauncher ReplicaType = "Launcher"
	// MPIJobReplicaTypeWorker is the type for worker replicas.
	MPIJobReplicaTypeWorker ReplicaType = "Worker"
)
View Source
const (
	// MXJobDefaultPortName is name of the port used to communicate between scheduler and
	// servers & workers.
	MXJobDefaultPortName = "mxjob-port"
	// MXJobDefaultContainerName is the name of the MXJob container.
	MXJobDefaultContainerName = "mxnet"
	// MXJobDefaultPort is default value of the port.
	MXJobDefaultPort = 9091
	// MXJobDefaultRestartPolicy is default RestartPolicy for MXReplicaSpec.
	MXJobDefaultRestartPolicy = RestartPolicyNever
	// MXJobKind is the kind name.
	MXJobKind = "MXJob"
	// MXJobPlural is the MXNetPlural for mxJob.
	MXJobPlural = "mxjobs"
	// MXJobSingular is the singular for mxJob.
	MXJobSingular = "mxjob"
	// MXJobFrameworkName is the name of the ML Framework
	MXJobFrameworkName = "mxnet"
	// MXJobReplicaTypeScheduler is the type for scheduler replica in MXNet.
	MXJobReplicaTypeScheduler ReplicaType = "Scheduler"

	// MXJobReplicaTypeServer is the type for parameter servers of distributed MXNet.
	MXJobReplicaTypeServer ReplicaType = "Server"

	// MXJobReplicaTypeWorker is the type for workers of distributed MXNet.
	// This is also used for non-distributed MXNet.
	MXJobReplicaTypeWorker ReplicaType = "Worker"

	// MXJobReplicaTypeTunerTracker
	// This the auto-tuning tracker e.g. autotvm tracker, it will dispatch tuning task to TunerServer
	MXJobReplicaTypeTunerTracker ReplicaType = "TunerTracker"

	// MXJobReplicaTypeTunerServer
	MXJobReplicaTypeTunerServer ReplicaType = "TunerServer"

	// MXJobReplicaTypeTuner is the type for auto-tuning of distributed MXNet.
	// This is also used for non-distributed MXNet.
	MXJobReplicaTypeTuner ReplicaType = "Tuner"
)
View Source
const (
	// PaddleJobDefaultPortName is name of the port used to communicate between Master and
	// workers.
	PaddleJobDefaultPortName = "master"
	// PaddleJobDefaultContainerName is the name of the PaddleJob container.
	PaddleJobDefaultContainerName = "paddle"
	// PaddleJobDefaultPort is default value of the port.
	PaddleJobDefaultPort = 36543
	// PaddleJobDefaultRestartPolicy is default RestartPolicy for PaddleReplicaSpec.
	PaddleJobDefaultRestartPolicy = RestartPolicyOnFailure
	// PaddleJobKind is the kind name.
	PaddleJobKind = "PaddleJob"
	// PaddleJobPlural is the PaddlePlural for paddleJob.
	PaddleJobPlural = "paddlejobs"
	// PaddleJobSingular is the singular for paddleJob.
	PaddleJobSingular = "paddlejob"
	// PaddleJobFrameworkName is the name of the ML Framework
	PaddleJobFrameworkName = "paddle"
	// PaddleJobReplicaTypeMaster is the type of Master of distributed Paddle
	PaddleJobReplicaTypeMaster ReplicaType = "Master"
	// PaddleJobReplicaTypeWorker is the type for workers of distributed Paddle.
	PaddleJobReplicaTypeWorker ReplicaType = "Worker"
)
View Source
const (
	// PyTorchJobDefaultPortName is name of the port used to communicate between Master and
	// workers.
	PyTorchJobDefaultPortName = "pytorchjob-port"
	// PyTorchJobDefaultContainerName is the name of the PyTorchJob container.
	PyTorchJobDefaultContainerName = "pytorch"
	// PyTorchJobDefaultPort is default value of the port.
	PyTorchJobDefaultPort = 23456
	// PyTorchJobDefaultRestartPolicy is default RestartPolicy for PyTorchReplicaSpec.
	PyTorchJobDefaultRestartPolicy = RestartPolicyOnFailure
	// PyTorchJobKind is the kind name.
	PyTorchJobKind = "PyTorchJob"
	// PyTorchJobPlural is the PyTorchPlural for pytorchJob.
	PyTorchJobPlural = "pytorchjobs"
	// PyTorchJobSingular is the singular for pytorchJob.
	PyTorchJobSingular = "pytorchjob"
	// PyTorchJobFrameworkName is the name of the ML Framework
	PyTorchJobFrameworkName = "pytorch"
	// PyTorchJobReplicaTypeMaster is the type of Master of distributed PyTorch
	PyTorchJobReplicaTypeMaster ReplicaType = "Master"
	// PyTorchJobReplicaTypeWorker is the type for workers of distributed PyTorch.
	PyTorchJobReplicaTypeWorker ReplicaType = "Worker"
)
View Source
const (
	// TFJobDefaultPortName is name of the port used to communicate between PS and
	// workers.
	TFJobDefaultPortName = "tfjob-port"
	// TFJobDefaultContainerName is the name of the TFJob container.
	TFJobDefaultContainerName = "tensorflow"
	// TFJobDefaultPort is default value of the port.
	TFJobDefaultPort = 2222
	// TFJobDefaultRestartPolicy is default RestartPolicy for TFReplicaSpec.
	TFJobDefaultRestartPolicy = RestartPolicyNever
	// TFJobKind is the kind name.
	TFJobKind = "TFJob"
	// TFJobPlural is the TensorflowPlural for TFJob.
	TFJobPlural = "tfjobs"
	// TFJobSingular is the singular for TFJob.
	TFJobSingular = "tfjob"
	// TFJobFrameworkName is the name of the ML Framework
	TFJobFrameworkName = "tensorflow"
)
View Source
const (
	// XGBoostJobDefaultPortName is name of the port used to communicate between Master and Workers.
	XGBoostJobDefaultPortName = "xgboostjob-port"
	// XGBoostJobDefaultContainerName is the name of the XGBoostJob container.
	XGBoostJobDefaultContainerName = "xgboost"
	// XGBoostJobDefaultPort is default value of the port.
	XGBoostJobDefaultPort = 9999
	// XGBoostJobDefaultRestartPolicy is default RestartPolicy for XGBReplicaSpecs.
	XGBoostJobDefaultRestartPolicy = RestartPolicyNever
	// XGBoostJobKind is the kind name.
	XGBoostJobKind = "XGBoostJob"
	// XGBoostJobPlural is the XGBoostJobPlural for XGBoostJob.
	XGBoostJobPlural = "xgboostjobs"
	// XGBoostJobSingular is the singular for XGBoostJob.
	XGBoostJobSingular = "xgboostjob"
	// XGBoostJobFrameworkName is the name of the ML Framework
	XGBoostJobFrameworkName = "xgboost"
	// XGBoostJobReplicaTypeMaster is the type for master replica.
	XGBoostJobReplicaTypeMaster ReplicaType = "Master"
	// XGBoostJobReplicaTypeWorker is the type for worker replicas.
	XGBoostJobReplicaTypeWorker ReplicaType = "Worker"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "kubeflow.org", Version: "v1"}

	MPIJobSchemeGroupVersionKind = schema.GroupVersionKind{Group: "kubeflow.org", Version: "v1", Kind: MPIJobKind}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	DefaultNprocPerNode = "auto"
)
View Source
var SchemeGroupVersion = GroupVersion

SchemeGroupVersion is group version used to register these objects.

Functions

func IsChieforMaster

func IsChieforMaster(typ ReplicaType) bool

IsChieforMaster returns true if the type is Master or Chief.

func IsEvaluator

func IsEvaluator(typ ReplicaType) bool

IsEvaluator returns true if the type is Evaluator.

func IsScheduler

func IsScheduler(typ ReplicaType) bool

IsScheduler returns true if the type is Scheduler.

func IsWorker

func IsWorker(typ ReplicaType) bool

IsWorker returns true if the type is Worker.

func RegisterDefaults

func RegisterDefaults(scheme *runtime.Scheme) error

RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group-qualified GroupResource.

func SetDefaults_MPIJob

func SetDefaults_MPIJob(mpiJob *MPIJob)

func SetDefaults_MXJob

func SetDefaults_MXJob(mxjob *MXJob)

SetDefaults_MXJob sets any unspecified values to defaults.

func SetDefaults_PaddleJob added in v1.6.0

func SetDefaults_PaddleJob(job *PaddleJob)

SetDefaults_PaddleJob sets any unspecified values to defaults.

func SetDefaults_PyTorchJob

func SetDefaults_PyTorchJob(job *PyTorchJob)

SetDefaults_PyTorchJob sets any unspecified values to defaults.

func SetDefaults_TFJob

func SetDefaults_TFJob(tfJob *TFJob)

SetDefaults_TFJob sets any unspecified values to defaults.

func SetDefaults_XGBoostJob

func SetDefaults_XGBoostJob(xgboostJob *XGBoostJob)

SetDefaults_XGBoostJob sets any unspecified values to defaults.

func SetObjectDefaults_MPIJob

func SetObjectDefaults_MPIJob(in *MPIJob)

func SetObjectDefaults_MPIJobList

func SetObjectDefaults_MPIJobList(in *MPIJobList)

func SetObjectDefaults_MXJob

func SetObjectDefaults_MXJob(in *MXJob)

func SetObjectDefaults_MXJobList

func SetObjectDefaults_MXJobList(in *MXJobList)

func SetObjectDefaults_PaddleJob added in v1.6.0

func SetObjectDefaults_PaddleJob(in *PaddleJob)

func SetObjectDefaults_PaddleJobList added in v1.6.0

func SetObjectDefaults_PaddleJobList(in *PaddleJobList)

func SetObjectDefaults_PyTorchJob

func SetObjectDefaults_PyTorchJob(in *PyTorchJob)

func SetObjectDefaults_PyTorchJobList

func SetObjectDefaults_PyTorchJobList(in *PyTorchJobList)

func SetObjectDefaults_TFJob

func SetObjectDefaults_TFJob(in *TFJob)

func SetObjectDefaults_TFJobList

func SetObjectDefaults_TFJobList(in *TFJobList)

func SetObjectDefaults_XGBoostJob

func SetObjectDefaults_XGBoostJob(in *XGBoostJob)

func SetObjectDefaults_XGBoostJobList

func SetObjectDefaults_XGBoostJobList(in *XGBoostJobList)

func ValidateV1MXJob added in v1.6.0

func ValidateV1MXJob(mxJob *MXJob) error

ValidateV1MXJob checks that the kubeflowv1.MXJobSpec is valid.

func ValidateV1MpiJobSpec

func ValidateV1MpiJobSpec(c *MPIJobSpec) error

func ValidateV1PaddleJob added in v1.6.0

func ValidateV1PaddleJob(paddleJob *PaddleJob) error

func ValidateV1PyTorchJob added in v1.6.0

func ValidateV1PyTorchJob(pytorchJob *PyTorchJob) error

func ValidateV1TFJob added in v1.6.0

func ValidateV1TFJob(tfjob *TFJob) error

func ValidateV1XGBoostJob added in v1.6.0

func ValidateV1XGBoostJob(xgboostJob *XGBoostJob) error

Types

type CleanPodPolicy added in v1.7.0

type CleanPodPolicy string

CleanPodPolicy describes how to deal with pods when the job is finished.

const (
	CleanPodPolicyUndefined CleanPodPolicy = ""
	CleanPodPolicyAll       CleanPodPolicy = "All"
	CleanPodPolicyRunning   CleanPodPolicy = "Running"
	CleanPodPolicyNone      CleanPodPolicy = "None"
)

func CleanPodPolicyPointer added in v1.7.0

func CleanPodPolicyPointer(cleanPodPolicy CleanPodPolicy) *CleanPodPolicy

type ElasticPolicy

type ElasticPolicy struct {
	// minReplicas is the lower limit for the number of replicas to which the training job
	// can scale down.  It defaults to null.
	// +optional
	MinReplicas *int32 `json:"minReplicas,omitempty"`
	// upper limit for the number of pods that can be set by the autoscaler; cannot be smaller than MinReplicas, defaults to null.
	// +optional
	MaxReplicas *int32 `json:"maxReplicas,omitempty"`

	RDZVBackend *RDZVBackend `json:"rdzvBackend,omitempty"`
	RDZVPort    *int32       `json:"rdzvPort,omitempty"`
	RDZVHost    *string      `json:"rdzvHost,omitempty"`
	RDZVID      *string      `json:"rdzvId,omitempty"`
	// RDZVConf contains additional rendezvous configuration (<key1>=<value1>,<key2>=<value2>,...).
	RDZVConf []RDZVConf `json:"rdzvConf,omitempty"`
	// Start a local standalone rendezvous backend that is represented by a C10d TCP store
	// on port 29400. Useful when launching single-node, multi-worker job. If specified
	// --rdzv_backend, --rdzv_endpoint, --rdzv_id are auto-assigned; any explicitly set values
	// are ignored.
	Standalone *bool `json:"standalone,omitempty"`
	// Number of workers per node; supported values: [auto, cpu, gpu, int].
	// Deprecated: This API is deprecated in v1.7+
	// Use .spec.nprocPerNode instead.
	NProcPerNode *int32 `json:"nProcPerNode,omitempty"`

	MaxRestarts *int32 `json:"maxRestarts,omitempty"`

	// Metrics contains the specifications which are used to calculate the
	// desired replica count (the maximum replica count across all metrics will
	// be used).  The desired replica count is calculated with multiplying the
	// ratio between the target value and the current value by the current
	// number of pods. Ergo, metrics used must decrease as the pod count is
	// increased, and vice-versa.  See the individual metric source types for
	// more information about how each type of metric must respond.
	// If not set, the HPA will not be created.
	// +optional
	Metrics []autoscalingv2.MetricSpec `json:"metrics,omitempty"`
}

func (*ElasticPolicy) DeepCopy

func (in *ElasticPolicy) DeepCopy() *ElasticPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticPolicy.

func (*ElasticPolicy) DeepCopyInto

func (in *ElasticPolicy) DeepCopyInto(out *ElasticPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JobCondition added in v1.7.0

type JobCondition struct {
	// Type of job condition.
	Type JobConditionType `json:"type"`
	// Status of the condition, one of True, False, Unknown.
	Status v1.ConditionStatus `json:"status"`
	// 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"`
	// The last time this condition was updated.
	LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
}

JobCondition describes the state of the job at a certain point.

func (*JobCondition) DeepCopy added in v1.7.0

func (in *JobCondition) DeepCopy() *JobCondition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobCondition.

func (*JobCondition) DeepCopyInto added in v1.7.0

func (in *JobCondition) DeepCopyInto(out *JobCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JobConditionType added in v1.7.0

type JobConditionType string

JobConditionType defines all kinds of types of JobStatus.

const (
	// JobCreated means the job has been accepted by the system,
	// but one or more of the pods/services has not been started.
	// This includes time before pods being scheduled and launched.
	JobCreated JobConditionType = "Created"

	// JobRunning means all sub-resources (e.g. services/pods) of this job
	// have been successfully scheduled and launched.
	// The training is running without error.
	JobRunning JobConditionType = "Running"

	// JobRestarting means one or more sub-resources (e.g. services/pods) of this job
	// reached phase failed but maybe restarted according to it's restart policy
	// which specified by user in v1.PodTemplateSpec.
	// The training is freezing/pending.
	JobRestarting JobConditionType = "Restarting"

	// JobSucceeded means all sub-resources (e.g. services/pods) of this job
	// reached phase have terminated in success.
	// The training is complete without error.
	JobSucceeded JobConditionType = "Succeeded"

	// JobSuspended means the job has been suspended.
	JobSuspended JobConditionType = "Suspended"

	// JobFailed means one or more sub-resources (e.g. services/pods) of this job
	// reached phase failed with no restarting.
	// The training has failed its execution.
	JobFailed JobConditionType = "Failed"
)

type JobModeType

type JobModeType string

JobModeType id the type for JobMode

const (
	// Train Mode, in this mode requested MXReplicaSpecs need
	// has Server, Scheduler, Worker
	MXTrain JobModeType = "MXTrain"

	// Tune Mode, in this mode requested MXReplicaSpecs need
	// has Tuner
	MXTune JobModeType = "MXTune"
)

type JobStatus added in v1.7.0

type JobStatus struct {
	// Conditions is an array of current observed job conditions.
	Conditions []JobCondition `json:"conditions,omitempty"`

	// ReplicaStatuses is map of ReplicaType and ReplicaStatus,
	// specifies the status of each replica.
	ReplicaStatuses map[ReplicaType]*ReplicaStatus `json:"replicaStatuses,omitempty"`

	// Represents time when the job was acknowledged by the job controller.
	// It is not guaranteed to be set in happens-before order across separate operations.
	// It is represented in RFC3339 form and is in UTC.
	StartTime *metav1.Time `json:"startTime,omitempty"`

	// Represents time when the job was completed. It is not guaranteed to
	// be set in happens-before order across separate operations.
	// It is represented in RFC3339 form and is in UTC.
	CompletionTime *metav1.Time `json:"completionTime,omitempty"`

	// Represents last time when the job was reconciled. It is not guaranteed to
	// be set in happens-before order across separate operations.
	// It is represented in RFC3339 form and is in UTC.
	LastReconcileTime *metav1.Time `json:"lastReconcileTime,omitempty"`
}

JobStatus represents the current observed state of the training Job.

func (*JobStatus) DeepCopy added in v1.7.0

func (in *JobStatus) DeepCopy() *JobStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobStatus.

func (*JobStatus) DeepCopyInto added in v1.7.0

func (in *JobStatus) DeepCopyInto(out *JobStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MPIJob

type MPIJob struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              MPIJobSpec `json:"spec,omitempty"`
	Status            JobStatus  `json:"status,omitempty"`
}

func (*MPIJob) DeepCopy

func (in *MPIJob) DeepCopy() *MPIJob

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MPIJob.

func (*MPIJob) DeepCopyInto

func (in *MPIJob) DeepCopyInto(out *MPIJob)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MPIJob) DeepCopyObject

func (in *MPIJob) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MPIJobList

type MPIJobList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []MPIJob `json:"items"`
}

func (*MPIJobList) DeepCopy

func (in *MPIJobList) DeepCopy() *MPIJobList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MPIJobList.

func (*MPIJobList) DeepCopyInto

func (in *MPIJobList) DeepCopyInto(out *MPIJobList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MPIJobList) DeepCopyObject

func (in *MPIJobList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MPIJobSpec

type MPIJobSpec struct {

	// Specifies the number of slots per worker used in hostfile.
	// Defaults to 1.
	// +optional
	SlotsPerWorker *int32 `json:"slotsPerWorker,omitempty"`

	// CleanPodPolicy defines the policy that whether to kill pods after the job completes.
	// Defaults to None.
	CleanPodPolicy *CleanPodPolicy `json:"cleanPodPolicy,omitempty"`

	// `MPIReplicaSpecs` contains maps from `MPIReplicaType` to `ReplicaSpec` that
	// specify the MPI replicas to run.
	MPIReplicaSpecs map[ReplicaType]*ReplicaSpec `json:"mpiReplicaSpecs"`

	// MainContainer specifies name of the main container which
	// executes the MPI code.
	MainContainer string `json:"mainContainer,omitempty"`

	// `RunPolicy` encapsulates various runtime policies of the distributed training
	// job, for example how to clean up resources and how long the job can stay
	// active.
	RunPolicy RunPolicy `json:"runPolicy,omitempty"`
}

func (*MPIJobSpec) DeepCopy

func (in *MPIJobSpec) DeepCopy() *MPIJobSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MPIJobSpec.

func (*MPIJobSpec) DeepCopyInto

func (in *MPIJobSpec) DeepCopyInto(out *MPIJobSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MXJob

type MXJob struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   MXJobSpec `json:"spec,omitempty"`
	Status JobStatus `json:"status,omitempty"`
}

MXJob is the Schema for the mxjobs API

func (*MXJob) DeepCopy

func (in *MXJob) DeepCopy() *MXJob

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MXJob.

func (*MXJob) DeepCopyInto

func (in *MXJob) DeepCopyInto(out *MXJob)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MXJob) DeepCopyObject

func (in *MXJob) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MXJobList

type MXJobList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []MXJob `json:"items"`
}

MXJobList contains a list of MXJob

func (*MXJobList) DeepCopy

func (in *MXJobList) DeepCopy() *MXJobList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MXJobList.

func (*MXJobList) DeepCopyInto

func (in *MXJobList) DeepCopyInto(out *MXJobList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MXJobList) DeepCopyObject

func (in *MXJobList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MXJobSpec

type MXJobSpec struct {
	// RunPolicy encapsulates various runtime policies of the distributed training
	// job, for example how to clean up resources and how long the job can stay
	// active.
	//+kubebuilder:validation:Optional
	RunPolicy RunPolicy `json:"runPolicy"`

	// JobMode specify the kind of MXjob to do. Different mode may have
	// different MXReplicaSpecs request
	JobMode JobModeType `json:"jobMode"`

	// MXReplicaSpecs is map of ReplicaType and ReplicaSpec
	// specifies the MX replicas to run.
	// For example,
	//   {
	//     "Scheduler": ReplicaSpec,
	//     "Server": ReplicaSpec,
	//     "Worker": ReplicaSpec,
	//   }
	MXReplicaSpecs map[ReplicaType]*ReplicaSpec `json:"mxReplicaSpecs"`
}

MXJobSpec defines the desired state of MXJob

func (*MXJobSpec) DeepCopy

func (in *MXJobSpec) DeepCopy() *MXJobSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MXJobSpec.

func (*MXJobSpec) DeepCopyInto

func (in *MXJobSpec) DeepCopyInto(out *MXJobSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MXJobStatus

type MXJobStatus struct {
}

MXJobStatus defines the observed state of MXJob

func (*MXJobStatus) DeepCopy

func (in *MXJobStatus) DeepCopy() *MXJobStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MXJobStatus.

func (*MXJobStatus) DeepCopyInto

func (in *MXJobStatus) DeepCopyInto(out *MXJobStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PaddleElasticPolicy added in v1.6.0

type PaddleElasticPolicy struct {
	// minReplicas is the lower limit for the number of replicas to which the training job
	// can scale down.  It defaults to null.
	// +optional
	MinReplicas *int32 `json:"minReplicas,omitempty"`
	// upper limit for the number of pods that can be set by the autoscaler; cannot be smaller than MinReplicas, defaults to null.
	// +optional
	MaxReplicas *int32 `json:"maxReplicas,omitempty"`

	// MaxRestarts is the limit for restart times of pods in elastic mode.
	// +optional
	MaxRestarts *int32 `json:"maxRestarts,omitempty"`

	// Metrics contains the specifications which are used to calculate the
	// desired replica count (the maximum replica count across all metrics will
	// be used).  The desired replica count is calculated with multiplying the
	// ratio between the target value and the current value by the current
	// number of pods. Ergo, metrics used must decrease as the pod count is
	// increased, and vice-versa.  See the individual metric source types for
	// more information about how each type of metric must respond.
	// If not set, the HPA will not be created.
	// +optional
	Metrics []autoscalingv2.MetricSpec `json:"metrics,omitempty"`
}

func (*PaddleElasticPolicy) DeepCopy added in v1.6.0

func (in *PaddleElasticPolicy) DeepCopy() *PaddleElasticPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PaddleElasticPolicy.

func (*PaddleElasticPolicy) DeepCopyInto added in v1.6.0

func (in *PaddleElasticPolicy) DeepCopyInto(out *PaddleElasticPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PaddleJob added in v1.6.0

type PaddleJob struct {
	// Standard Kubernetes type metadata.
	metav1.TypeMeta `json:",inline"`

	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired state of the PaddleJob.
	Spec PaddleJobSpec `json:"spec,omitempty"`

	// Most recently observed status of the PaddleJob.
	// Read-only (modified by the system).
	Status JobStatus `json:"status,omitempty"`
}

PaddleJob Represents a PaddleJob resource.

func (*PaddleJob) DeepCopy added in v1.6.0

func (in *PaddleJob) DeepCopy() *PaddleJob

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PaddleJob.

func (*PaddleJob) DeepCopyInto added in v1.6.0

func (in *PaddleJob) DeepCopyInto(out *PaddleJob)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PaddleJob) DeepCopyObject added in v1.6.0

func (in *PaddleJob) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PaddleJobList added in v1.6.0

type PaddleJobList struct {
	// Standard type metadata.
	metav1.TypeMeta `json:",inline"`

	// Standard list metadata.
	metav1.ListMeta `json:"metadata,omitempty"`

	// List of PaddleJobs.
	Items []PaddleJob `json:"items"`
}

PaddleJobList is a list of PaddleJobs.

func (*PaddleJobList) DeepCopy added in v1.6.0

func (in *PaddleJobList) DeepCopy() *PaddleJobList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PaddleJobList.

func (*PaddleJobList) DeepCopyInto added in v1.6.0

func (in *PaddleJobList) DeepCopyInto(out *PaddleJobList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PaddleJobList) DeepCopyObject added in v1.6.0

func (in *PaddleJobList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PaddleJobSpec added in v1.6.0

type PaddleJobSpec struct {
	// RunPolicy encapsulates various runtime policies of the distributed training
	// job, for example how to clean up resources and how long the job can stay
	// active.
	//+kubebuilder:validation:Optional
	RunPolicy RunPolicy `json:"runPolicy"`

	// ElasticPolicy holds the elastic policy for paddle job.
	ElasticPolicy *PaddleElasticPolicy `json:"elasticPolicy,omitempty"`

	// A map of PaddleReplicaType (type) to ReplicaSpec (value). Specifies the Paddle cluster configuration.
	// For example,
	//   {
	//     "Master": PaddleReplicaSpec,
	//     "Worker": PaddleReplicaSpec,
	//   }
	PaddleReplicaSpecs map[ReplicaType]*ReplicaSpec `json:"paddleReplicaSpecs"`
}

PaddleJobSpec is a desired state description of the PaddleJob.

func (*PaddleJobSpec) DeepCopy added in v1.6.0

func (in *PaddleJobSpec) DeepCopy() *PaddleJobSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PaddleJobSpec.

func (*PaddleJobSpec) DeepCopyInto added in v1.6.0

func (in *PaddleJobSpec) DeepCopyInto(out *PaddleJobSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PyTorchJob

type PyTorchJob struct {
	// Standard Kubernetes type metadata.
	metav1.TypeMeta `json:",inline"`

	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired state of the PyTorchJob.
	Spec PyTorchJobSpec `json:"spec,omitempty"`

	// Most recently observed status of the PyTorchJob.
	// Read-only (modified by the system).
	Status JobStatus `json:"status,omitempty"`
}

PyTorchJob Represents a PyTorchJob resource.

func (*PyTorchJob) DeepCopy

func (in *PyTorchJob) DeepCopy() *PyTorchJob

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PyTorchJob.

func (*PyTorchJob) DeepCopyInto

func (in *PyTorchJob) DeepCopyInto(out *PyTorchJob)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PyTorchJob) DeepCopyObject

func (in *PyTorchJob) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PyTorchJobList

type PyTorchJobList struct {
	// Standard type metadata.
	metav1.TypeMeta `json:",inline"`

	// Standard list metadata.
	metav1.ListMeta `json:"metadata,omitempty"`

	// List of PyTorchJobs.
	Items []PyTorchJob `json:"items"`
}

PyTorchJobList is a list of PyTorchJobs.

func (*PyTorchJobList) DeepCopy

func (in *PyTorchJobList) DeepCopy() *PyTorchJobList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PyTorchJobList.

func (*PyTorchJobList) DeepCopyInto

func (in *PyTorchJobList) DeepCopyInto(out *PyTorchJobList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PyTorchJobList) DeepCopyObject

func (in *PyTorchJobList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PyTorchJobSpec

type PyTorchJobSpec struct {
	// RunPolicy encapsulates various runtime policies of the distributed training
	// job, for example how to clean up resources and how long the job can stay
	// active.
	//+kubebuilder:validation:Optional
	RunPolicy RunPolicy `json:"runPolicy"`

	ElasticPolicy *ElasticPolicy `json:"elasticPolicy,omitempty"`

	// A map of PyTorchReplicaType (type) to ReplicaSpec (value). Specifies the PyTorch cluster configuration.
	// For example,
	//   {
	//     "Master": PyTorchReplicaSpec,
	//     "Worker": PyTorchReplicaSpec,
	//   }
	PyTorchReplicaSpecs map[ReplicaType]*ReplicaSpec `json:"pytorchReplicaSpecs"`

	// Number of workers per node; supported values: [auto, cpu, gpu, int].
	// For more, https://github.com/pytorch/pytorch/blob/26f7f470df64d90e092081e39507e4ac751f55d6/torch/distributed/run.py#L629-L658.
	// Defaults to auto.
	NprocPerNode *string `json:"nprocPerNode,omitempty"`
}

PyTorchJobSpec is a desired state description of the PyTorchJob.

func (*PyTorchJobSpec) DeepCopy

func (in *PyTorchJobSpec) DeepCopy() *PyTorchJobSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PyTorchJobSpec.

func (*PyTorchJobSpec) DeepCopyInto

func (in *PyTorchJobSpec) DeepCopyInto(out *PyTorchJobSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RDZVBackend

type RDZVBackend string
const (
	// BackendC10D is the rendezvous backend type for C10d.
	BackendC10D RDZVBackend = "c10d"
	// BackendETCD is the rendezvous backend type for ETCD.
	BackendETCD RDZVBackend = "etcd"
	// BackendETCDV2 is the rendezvous backend type for ETCD v2.
	BackendETCDV2 RDZVBackend = "etcd-v2"
)

type RDZVConf

type RDZVConf struct {
	Key   string `json:"key,omitempty"`
	Value string `json:"value,omitempty"`
}

func (*RDZVConf) DeepCopy

func (in *RDZVConf) DeepCopy() *RDZVConf

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDZVConf.

func (*RDZVConf) DeepCopyInto

func (in *RDZVConf) DeepCopyInto(out *RDZVConf)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReplicaSpec added in v1.7.0

type ReplicaSpec struct {
	// Replicas is the desired number of replicas of the given template.
	// If unspecified, defaults to 1.
	Replicas *int32 `json:"replicas,omitempty"`

	// Template is the object that describes the pod that
	// will be created for this replica. RestartPolicy in PodTemplateSpec
	// will be overide by RestartPolicy in ReplicaSpec
	Template v1.PodTemplateSpec `json:"template,omitempty"`

	// Restart policy for all replicas within the job.
	// One of Always, OnFailure, Never and ExitCode.
	// Default to Never.
	RestartPolicy RestartPolicy `json:"restartPolicy,omitempty"`
}

ReplicaSpec is a description of the replica

func (*ReplicaSpec) DeepCopy added in v1.7.0

func (in *ReplicaSpec) DeepCopy() *ReplicaSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicaSpec.

func (*ReplicaSpec) DeepCopyInto added in v1.7.0

func (in *ReplicaSpec) DeepCopyInto(out *ReplicaSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReplicaStatus added in v1.7.0

type ReplicaStatus struct {
	// The number of actively running pods.
	Active int32 `json:"active,omitempty"`

	// The number of pods which reached phase Succeeded.
	Succeeded int32 `json:"succeeded,omitempty"`

	// The number of pods which reached phase Failed.
	Failed int32 `json:"failed,omitempty"`

	// Deprecated: Use Selector instead
	LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"`

	// A Selector is a label query over a set of resources. The result of matchLabels and
	// matchExpressions are ANDed. An empty Selector matches all objects. A null
	// Selector matches no objects.
	Selector string `json:"selector,omitempty"`
}

ReplicaStatus represents the current observed state of the replica.

func (*ReplicaStatus) DeepCopy added in v1.7.0

func (in *ReplicaStatus) DeepCopy() *ReplicaStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicaStatus.

func (*ReplicaStatus) DeepCopyInto added in v1.7.0

func (in *ReplicaStatus) DeepCopyInto(out *ReplicaStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReplicaType added in v1.7.0

type ReplicaType string

ReplicaType represents the type of the replica. Each operator needs to define its own set of ReplicaTypes.

const (
	// TFJobReplicaTypePS is the type for parameter servers of distributed TensorFlow.
	TFJobReplicaTypePS ReplicaType = "PS"

	// TFJobReplicaTypeWorker is the type for workers of distributed TensorFlow.
	// This is also used for non-distributed TensorFlow.
	TFJobReplicaTypeWorker ReplicaType = "Worker"

	// TFJobReplicaTypeChief is the type for chief worker of distributed TensorFlow.
	// If there is "chief" replica type, it's the "chief worker".
	// Else, worker:0 is the chief worker.
	TFJobReplicaTypeChief ReplicaType = "Chief"

	// TFJobReplicaTypeMaster is the type for master worker of distributed TensorFlow.
	// This is similar to chief, and kept just for backwards compatibility.
	TFJobReplicaTypeMaster ReplicaType = "Master"

	// TFJobReplicaTypeEval is the type for evaluation replica in TensorFlow.
	TFJobReplicaTypeEval ReplicaType = "Evaluator"
)

type RestartPolicy added in v1.7.0

type RestartPolicy string

RestartPolicy describes how the replicas should be restarted. Only one of the following restart policies may be specified. If none of the following policies is specified, the default one is RestartPolicyAlways.

const (
	RestartPolicyAlways    RestartPolicy = "Always"
	RestartPolicyOnFailure RestartPolicy = "OnFailure"
	RestartPolicyNever     RestartPolicy = "Never"

	// RestartPolicyExitCode policy means that user should add exit code by themselves,
	// The job operator will check these exit codes to
	// determine the behavior when an error occurs:
	// - 1-127: permanent error, do not restart.
	// - 128-255: retryable error, will restart the pod.
	RestartPolicyExitCode RestartPolicy = "ExitCode"
)

type RunPolicy added in v1.7.0

type RunPolicy struct {
	// CleanPodPolicy defines the policy to kill pods after the job completes.
	// Default to None.
	CleanPodPolicy *CleanPodPolicy `json:"cleanPodPolicy,omitempty"`

	// TTLSecondsAfterFinished is the TTL to clean up jobs.
	// It may take extra ReconcilePeriod seconds for the cleanup, since
	// reconcile gets called periodically.
	// Default to infinite.
	TTLSecondsAfterFinished *int32 `json:"ttlSecondsAfterFinished,omitempty"`

	// Specifies the duration in seconds relative to the startTime that the job may be active
	// before the system tries to terminate it; value must be positive integer.
	// +optional
	ActiveDeadlineSeconds *int64 `json:"activeDeadlineSeconds,omitempty"`

	// Optional number of retries before marking this job failed.
	// +optional
	BackoffLimit *int32 `json:"backoffLimit,omitempty"`

	// SchedulingPolicy defines the policy related to scheduling, e.g. gang-scheduling
	// +optional
	SchedulingPolicy *SchedulingPolicy `json:"schedulingPolicy,omitempty"`

	// suspend specifies whether the Job controller should create Pods or not.
	// If a Job is created with suspend set to true, no Pods are created by
	// the Job controller. If a Job is suspended after creation (i.e. the
	// flag goes from false to true), the Job controller will delete all
	// active Pods and PodGroups associated with this Job.
	// Users must design their workload to gracefully handle this.
	// Suspending a Job will reset the StartTime field of the Job.
	//
	// Defaults to false.
	// +kubebuilder:default:=false
	// +optional
	Suspend *bool `json:"suspend,omitempty"`
}

RunPolicy encapsulates various runtime policies of the distributed training job, for example how to clean up resources and how long the job can stay active.

func (*RunPolicy) DeepCopy added in v1.7.0

func (in *RunPolicy) DeepCopy() *RunPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RunPolicy.

func (*RunPolicy) DeepCopyInto added in v1.7.0

func (in *RunPolicy) DeepCopyInto(out *RunPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SchedulingPolicy added in v1.7.0

type SchedulingPolicy struct {
	MinAvailable           *int32                                 `json:"minAvailable,omitempty"`
	Queue                  string                                 `json:"queue,omitempty"`
	MinResources           *map[v1.ResourceName]resource.Quantity `json:"minResources,omitempty"`
	PriorityClass          string                                 `json:"priorityClass,omitempty"`
	ScheduleTimeoutSeconds *int32                                 `json:"scheduleTimeoutSeconds,omitempty"`
}

SchedulingPolicy encapsulates various scheduling policies of the distributed training job, for example `minAvailable` for gang-scheduling.

func (*SchedulingPolicy) DeepCopy added in v1.7.0

func (in *SchedulingPolicy) DeepCopy() *SchedulingPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingPolicy.

func (*SchedulingPolicy) DeepCopyInto added in v1.7.0

func (in *SchedulingPolicy) DeepCopyInto(out *SchedulingPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SuccessPolicy

type SuccessPolicy string

SuccessPolicy is the success policy.

const (
	SuccessPolicyDefault    SuccessPolicy = ""
	SuccessPolicyAllWorkers SuccessPolicy = "AllWorkers"
)

type TFJob

type TFJob struct {
	// Standard Kubernetes type metadata.
	metav1.TypeMeta `json:",inline"`

	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired state of the TFJob.
	// +optional
	Spec TFJobSpec `json:"spec,omitempty"`

	// Most recently observed status of the TFJob.
	// Populated by the system.
	// Read-only.
	// +optional
	Status JobStatus `json:"status,omitempty"`
}

TFJob represents a TFJob resource.

func (*TFJob) DeepCopy

func (in *TFJob) DeepCopy() *TFJob

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TFJob.

func (*TFJob) DeepCopyInto

func (in *TFJob) DeepCopyInto(out *TFJob)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TFJob) DeepCopyObject

func (in *TFJob) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TFJobList

type TFJobList struct {
	// Standard type metadata.
	metav1.TypeMeta `json:",inline"`

	// Standard list metadata.
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// List of TFJobs.
	Items []TFJob `json:"items"`
}

TFJobList is a list of TFJobs.

func (*TFJobList) DeepCopy

func (in *TFJobList) DeepCopy() *TFJobList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TFJobList.

func (*TFJobList) DeepCopyInto

func (in *TFJobList) DeepCopyInto(out *TFJobList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TFJobList) DeepCopyObject

func (in *TFJobList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TFJobSpec

type TFJobSpec struct {
	// RunPolicy encapsulates various runtime policies of the distributed training
	// job, for example how to clean up resources and how long the job can stay
	// active.
	//+kubebuilder:validation:Optional
	RunPolicy RunPolicy `json:"runPolicy"`

	// SuccessPolicy defines the policy to mark the TFJob as succeeded.
	// Default to "", using the default rules.
	// +optional
	SuccessPolicy *SuccessPolicy `json:"successPolicy,omitempty"`

	// A map of TFReplicaType (type) to ReplicaSpec (value). Specifies the TF cluster configuration.
	// For example,
	//   {
	//     "PS": ReplicaSpec,
	//     "Worker": ReplicaSpec,
	//   }
	TFReplicaSpecs map[ReplicaType]*ReplicaSpec `json:"tfReplicaSpecs"`

	// A switch to enable dynamic worker
	EnableDynamicWorker bool `json:"enableDynamicWorker,omitempty"`
}

TFJobSpec is a desired state description of the TFJob.

func (*TFJobSpec) DeepCopy

func (in *TFJobSpec) DeepCopy() *TFJobSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TFJobSpec.

func (*TFJobSpec) DeepCopyInto

func (in *TFJobSpec) DeepCopyInto(out *TFJobSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type XGBoostJob

type XGBoostJob struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   XGBoostJobSpec `json:"spec,omitempty"`
	Status JobStatus      `json:"status,omitempty"`
}

XGBoostJob is the Schema for the xgboostjobs API +k8s:openapi-gen=true

func (*XGBoostJob) DeepCopy

func (in *XGBoostJob) DeepCopy() *XGBoostJob

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new XGBoostJob.

func (*XGBoostJob) DeepCopyInto

func (in *XGBoostJob) DeepCopyInto(out *XGBoostJob)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*XGBoostJob) DeepCopyObject

func (in *XGBoostJob) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type XGBoostJobList

type XGBoostJobList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []XGBoostJob `json:"items"`
}

XGBoostJobList contains a list of XGBoostJob

func (*XGBoostJobList) DeepCopy

func (in *XGBoostJobList) DeepCopy() *XGBoostJobList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new XGBoostJobList.

func (*XGBoostJobList) DeepCopyInto

func (in *XGBoostJobList) DeepCopyInto(out *XGBoostJobList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*XGBoostJobList) DeepCopyObject

func (in *XGBoostJobList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type XGBoostJobSpec

type XGBoostJobSpec struct {
	// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	//+kubebuilder:validation:Optional
	RunPolicy RunPolicy `json:"runPolicy"`

	XGBReplicaSpecs map[ReplicaType]*ReplicaSpec `json:"xgbReplicaSpecs"`
}

XGBoostJobSpec defines the desired state of XGBoostJob

func (*XGBoostJobSpec) DeepCopy

func (in *XGBoostJobSpec) DeepCopy() *XGBoostJobSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new XGBoostJobSpec.

func (*XGBoostJobSpec) DeepCopyInto

func (in *XGBoostJobSpec) DeepCopyInto(out *XGBoostJobSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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