Documentation ¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the API. +groupName=kubeflow.org
Index ¶
- Constants
- Variables
- func RegisterDefaults(scheme *runtime.Scheme) error
- func Resource(resource string) schema.GroupResource
- func SetDefaults_TFJob(obj *TFJob)
- func SetObjectDefaults_TFJob(in *TFJob)
- func SetObjectDefaults_TFJobList(in *TFJobList)
- type AcceleratorConfig
- type AcceleratorVolume
- type ChiefSpec
- type ControllerConfig
- type EnvironmentVariableConfig
- type ReplicaState
- type State
- type TFJob
- type TFJobList
- type TFJobPhase
- type TFJobSpec
- type TFJobStatus
- type TFReplicaSpec
- type TFReplicaStatus
- type TFReplicaType
- type TerminationPolicySpec
Constants ¶
const ( // GroupName is the group name use in this package. GroupName = "kubeflow.org" // TFJobResourceKind is the kind name. TFJobResourceKind = "TFJob" // GroupVersion is the version. GroupVersion = "v1alpha1" )
const ( CRDKind = "tfjob" CRDKindPlural = "tfjobs" CRDGroup = "kubeflow.org" CRDVersion = "v1alpha1" // Value of the APP label that gets applied to a lot of entities. AppLabel = "tensorflow-job" // Defaults for the Spec TFPort = 2222 Replicas = 1 )
const ( DefaultTFContainer string = "tensorflow" DefaultTFImage string = "tensorflow/tensorflow:1.3.0" )
Variables ¶
var ( // SchemaBuilder is an object of runtime.SchemaBuilder SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: CRDVersion}
SchemeGroupVersion is the group version used to register these objects.
Functions ¶
func RegisterDefaults ¶
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_TFJob ¶
func SetDefaults_TFJob(obj *TFJob)
SetDefaults_TFJob initializes any uninitialized values to default values
func SetObjectDefaults_TFJob ¶
func SetObjectDefaults_TFJob(in *TFJob)
func SetObjectDefaults_TFJobList ¶
func SetObjectDefaults_TFJobList(in *TFJobList)
Types ¶
type AcceleratorConfig ¶
type AcceleratorConfig struct { Volumes []AcceleratorVolume EnvVars []EnvironmentVariableConfig }
AcceleratorConfig represents accelerator volumes to be mounted into container along with environment variables.
func (*AcceleratorConfig) DeepCopy ¶
func (in *AcceleratorConfig) DeepCopy() *AcceleratorConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AcceleratorConfig.
func (*AcceleratorConfig) DeepCopyInto ¶
func (in *AcceleratorConfig) DeepCopyInto(out *AcceleratorConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AcceleratorVolume ¶
AcceleratorVolume represents a host path that must be mounted into each container that needs to use GPUs.
func (*AcceleratorVolume) DeepCopy ¶
func (in *AcceleratorVolume) DeepCopy() *AcceleratorVolume
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AcceleratorVolume.
func (*AcceleratorVolume) DeepCopyInto ¶
func (in *AcceleratorVolume) DeepCopyInto(out *AcceleratorVolume)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChiefSpec ¶
type ChiefSpec struct { ReplicaName string `json:"replicaName"` ReplicaIndex int `json:"replicaIndex"` }
ChiefSpec structure storing the replica name and replica index
func (*ChiefSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChiefSpec.
func (*ChiefSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerConfig ¶
type ControllerConfig struct { // Accelerators is a map from the name of the accelerator to the config for that accelerator. // This should match the value specified as a container limit. // e.g. alpha.kubernetes.io/nvidia-gpu Accelerators map[string]AcceleratorConfig // Path to the file containing the grpc server source GrpcServerFilePath string }
ControllerConfig is a structure for storing the controller configuration
func (*ControllerConfig) DeepCopy ¶
func (in *ControllerConfig) DeepCopy() *ControllerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerConfig.
func (*ControllerConfig) DeepCopyInto ¶
func (in *ControllerConfig) DeepCopyInto(out *ControllerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvironmentVariableConfig ¶
EnvironmentVariableConfig represents the environment variables and their values.
func (*EnvironmentVariableConfig) DeepCopy ¶
func (in *EnvironmentVariableConfig) DeepCopy() *EnvironmentVariableConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentVariableConfig.
func (*EnvironmentVariableConfig) DeepCopyInto ¶
func (in *EnvironmentVariableConfig) DeepCopyInto(out *EnvironmentVariableConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReplicaState ¶
type ReplicaState string
ReplicaState is a enum to store the status of replica
const ( ReplicaStateUnknown ReplicaState = "Unknown" ReplicaStateRunning ReplicaState = "Running" ReplicaStateFailed ReplicaState = "Failed" ReplicaStateSucceeded ReplicaState = "Succeeded" )
type TFJob ¶
type TFJob struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TFJobSpec `json:"spec"` Status TFJobStatus `json:"status"` }
TFJob describes tfjob info
func (*TFJob) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TFJob.
func (*TFJob) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TFJob) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TFJobList ¶
type TFJobList struct { metav1.TypeMeta `json:",inline"` // Standard list metadata // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty"` // Items is a list of TFJobs Items []TFJob `json:"items"` }
TFJobList is a list of TFJobs clusters.
func (*TFJobList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TFJobList.
func (*TFJobList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TFJobList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TFJobPhase ¶
type TFJobPhase string
TFJobPhase is a enum to store the phase of tf job
const ( TFJobPhaseNone TFJobPhase = "" TFJobPhaseCreating TFJobPhase = "Creating" TFJobPhaseRunning TFJobPhase = "Running" TFJobPhaseCleanUp TFJobPhase = "CleanUp" TFJobPhaseFailed TFJobPhase = "Failed" TFJobPhaseDone TFJobPhase = "Done" )
type TFJobSpec ¶
type TFJobSpec struct { // TODO(jlewi): Can we we get rid of this and use some value from Kubernetes or a random ide. RuntimeId string // ReplicaSpecs specifies the TF replicas to run. ReplicaSpecs []*TFReplicaSpec `json:"replicaSpecs"` // TFImage defines the tensorflow docker image that should be used for default parameter server TFImage string `json:"tfImage,omitempty"` // TerminationPolicy specifies the condition that the tfjob should be considered finished. TerminationPolicy *TerminationPolicySpec `json:"terminationPolicy,omitempty"` // SchedulerName specifies the name of scheduler which should handle the TFJob SchedulerName string `json:"schedulerName,omitempty"` }
TFJobSpec structure for storing the TFJob specifications
func (*TFJobSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TFJobSpec.
func (*TFJobSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TFJobStatus ¶
type TFJobStatus struct { // Phase is the TFJob running phase Phase TFJobPhase `json:"phase"` Reason string `json:"reason"` // State indicates the state of the job. State State `json:"state"` // ReplicaStatuses specifies the status of each TF replica. ReplicaStatuses []*TFReplicaStatus `json:"replicaStatuses"` }
TFJobStatus is a structure for storing the status of tf jobs
func (*TFJobStatus) DeepCopy ¶
func (in *TFJobStatus) DeepCopy() *TFJobStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TFJobStatus.
func (*TFJobStatus) DeepCopyInto ¶
func (in *TFJobStatus) DeepCopyInto(out *TFJobStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TFReplicaSpec ¶
type TFReplicaSpec struct { // Replicas is the number of desired replicas. // This is a pointer to distinguish between explicit zero and unspecified. // Defaults to 1. // More info: http://kubernetes.io/docs/user-guide/replication-controller#what-is-a-replication-controller // +optional Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,1,opt,name=replicas"` Template *v1.PodTemplateSpec `json:"template,omitempty" protobuf:"bytes,3,opt,name=template"` // TFPort is the port to use for TF services. TFPort *int32 `json:"tfPort,omitempty" protobuf:"varint,1,opt,name=tfPort"` TFReplicaType `json:"tfReplicaType"` }
TODO(jlewi): We probably want to add a name field. This would allow us to have more than 1 type of each worker. // TFReplicaSpec might be useful if you wanted to have a separate set of workers to do eval.
func (*TFReplicaSpec) DeepCopy ¶
func (in *TFReplicaSpec) DeepCopy() *TFReplicaSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TFReplicaSpec.
func (*TFReplicaSpec) DeepCopyInto ¶
func (in *TFReplicaSpec) DeepCopyInto(out *TFReplicaSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TFReplicaStatus ¶
type TFReplicaStatus struct { TFReplicaType `json:"tf_replica_type"` // State is the overall state of the replica State ReplicaState `json:"state"` // ReplicasStates provides the number of replicas in each status. ReplicasStates map[ReplicaState]int }
TFReplicaStatus is a structure for storing the status of tf replica
func (*TFReplicaStatus) DeepCopy ¶
func (in *TFReplicaStatus) DeepCopy() *TFReplicaStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TFReplicaStatus.
func (*TFReplicaStatus) DeepCopyInto ¶
func (in *TFReplicaStatus) DeepCopyInto(out *TFReplicaStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TFReplicaType ¶
type TFReplicaType string
TFReplicaType determines how a set of TF processes are handled.
const ( MASTER TFReplicaType = "MASTER" PS TFReplicaType = "PS" WORKER TFReplicaType = "WORKER" )
type TerminationPolicySpec ¶
type TerminationPolicySpec struct { // Chief policy waits for a particular process (which is the chief) to exit. Chief *ChiefSpec `json:"chief,omitempty"` }
TerminationPolicySpec structure for storing specifications for process termination
func (*TerminationPolicySpec) DeepCopy ¶
func (in *TerminationPolicySpec) DeepCopy() *TerminationPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerminationPolicySpec.
func (*TerminationPolicySpec) DeepCopyInto ¶
func (in *TerminationPolicySpec) DeepCopyInto(out *TerminationPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.