Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cron ¶
type Cron struct { // Primary ID auto incremented by underlying database. ID uint64 `gorm:"type:bigint(20) NOT NULL AUTO_INCREMENT;column:id;primaryKey" json:"id"` // Metadata we concerned aggregated from job object. Name string `gorm:"type:varchar(256);column:name" json:"name"` Namespace string `gorm:"type:varchar(256);column:namespace" json:"namespace"` // Kubernetes UID UID string `gorm:"type:varchar(256);column:uid" json:"uid"` // Kind of this job: TFJob, PytorchJob... Kind string `gorm:"type:varchar(32);column:kind" json:"kind"` // RegionID indicates the physical region(IDC) this job located in, reserved for // jobs running in across-region-clusters. Status string `gorm:"type:varchar(32);column:status" json:"status"` RegionID *string `gorm:"type:varchar(256);column:region_id" json:"region_id,omitempty"` ClusterID *string `gorm:"type:varchar(256);column:cluster_id" json:"cluster_id,omitempty"` Schedule string `gorm:"type:varchar(32);column:schedule" json:"schedule"` ConcurrencyPolicy string `gorm:"type:varchar(32);column:concurrency_policy" json:"concurrency_policy"` Active string `gorm:"type:text;column:active" json:"active"` History string `gorm:"type:text;column:history" json:"history"` HistoryLimit *int32 `gorm:"type:integer(32);column:history_limit" json:"history_limit,omitempty"` IsInK8s int `gorm:"type:tinyint(4);column:is_in_k8s" json:"is_in_k8s"` IsDeleted *int `gorm:"type:tinyint(4);column:is_deleted;default:0" json:"is_deleted,omitempty"` Suspend *int8 `gorm:"type:tinyint(4);column:suspend" json:"suspend,omitempty"` Deadline *time.Time `gorm:"type:datetime;column:deadline" json:"deadline,omitempty"` // if created by RAM account, user is aliyun accountid, else user is username User *string `gorm:"type:varchar(128);column:user_id" json:"user_id,omitempty"` LastScheduleTime *time.Time `gorm:"type:datetime;column:last_schedule_time" json:"last_schedule_time,omitempty"` GmtCreated time.Time `gorm:"type:datetime;column:gmt_created" json:"gmt_created"` GmtModified time.Time `gorm:"type:datetime;column:gmt_modified" json:"gmt_modified"` }
func (*Cron) BeforeCreate ¶
BeforeCreate update gmt_modified timestamp.
func (*Cron) BeforeUpdate ¶
BeforeUpdate update gmt_modified timestamp.
type EvaluateJob ¶
type EvaluateJob struct { // Primary ID auto incremented by underlying database. ID uint64 `gorm:"type:bigint(20) NOT NULL AUTO_INCREMENT;column:id;primaryKey" json:"id"` JobID string `gorm:"type:varchar(50) NOT NULL;column:job_id" json:"job_id"` // Metadata we concerned aggregated from job object. Name string `gorm:"type:varchar(256);column:name" json:"name"` Namespace string `gorm:"type:varchar(256);column:namespace" json:"namespace"` // Kubernetes UID UID string `gorm:"type:varchar(256);column:uid" json:"uid"` // if created by RAM account, user is aliyun accountid, else user is username User *string `gorm:"type:varchar(128);column:user_id" json:"user_id,omitempty"` // RegionID indicates the physical region(IDC) this job located in, reserved for // jobs running in across-region-clusters. //ModelID uint64 `gorm:"type:bigint(20);column:model_id" json:"model_id"` ModelName string `gorm:"type:varchar(256);column:model_name" json:"model_name"` ModelVersion string `gorm:"type:varchar(256);column:model_version" json:"model_version"` Status apiv1.JobConditionType `gorm:"type:varchar(32);column:status" json:"status"` Image string `gorm:"type:varchar(256);column:image" json:"image"` DatasetPath string `gorm:"type:varchar(256);column:dataset_path" json:"dataset_path"` Code string `gorm:"type:text;column:code" json:"code"` Command string `gorm:"type:varchar(256);column:command" json:"command"` Metrics string `gorm:"type:text;column:metrics" json:"metrics"` IsDeleted int `gorm:"type:tinyint(4);column:is_deleted;default:0" json:"is_deleted,omitempty"` ReportPath string `gorm:"type:varchar(256);column:report_path" json:"report_path"` GmtCreated time.Time `gorm:"type:datetime;column:gmt_created" json:"gmt_created"` GmtModified time.Time `gorm:"type:datetime;column:gmt_modified" json:"gmt_modified"` }
func (*EvaluateJob) BeforeCreate ¶
func (evaluateJob *EvaluateJob) BeforeCreate(scope *gorm.Scope) error
BeforeCreate update gmt_modified timestamp.
func (*EvaluateJob) BeforeUpdate ¶
func (evaluateJob *EvaluateJob) BeforeUpdate(scope *gorm.Scope) error
BeforeUpdate update gmt_modified timestamp.
func (EvaluateJob) TableName ¶
func (evaluateJob EvaluateJob) TableName() string
type Event ¶
type Event struct { // Name of this event. Name string `gorm:"type:varchar(128);column:name" json:"name"` // Kind of object involved by event. Kind string `gorm:"type:varchar(32);column:kind" json:"kind"` // Type of this event. Type string `gorm:"type:varchar(32);column:type" json:"type"` // Involved Object Namespace. ObjNamespace string `gorm:"type:varchar(64);column:obj_namespace" json:"obj_namespace"` // Involved Object Name. ObjName string `gorm:"type:varchar(64);column:obj_name" json:"obj_name"` // Involved Object UID. ObjUID string `gorm:"type:varchar(64);column:obj_uid" json:"obj_uid"` // Reason(short, machine understandable string) of this event. Reason string `gorm:"type:varchar(128);column:reason" json:"reason"` // Message(long, human understandable description) of this event. Message string `gorm:"type:text;column:message" json:"message"` // Number of times this event has occurred. Count int32 `gorm:"type:integer(32);column:reason" json:"count"` // Region indicates the physical region(IDC) this job located in. Region *string `gorm:"type:varchar(64);column:region" json:"region,omitempty"` // The time at which the event was first recorded. FirstTimestamp time.Time `gorm:"type:datetime;column:first_timestamp" json:"first_timestamp"` // The time at which the most recent occurrence of this event was recorded. LastTimestamp time.Time `gorm:"type:datetime;column:last_timestamp" json:"last_timestamp"` }
Event contains fields collected from original Event object, they will be persisted by storage backend.
type Job ¶
type Job struct { // Primary ID auto incremented by underlying database. ID uint64 `gorm:"type:bigint(20) NOT NULL AUTO_INCREMENT;column:id;primaryKey" json:"id"` // Metadata we concerned aggregated from job object. Name string `gorm:"type:varchar(256);column:name" json:"name"` Namespace string `gorm:"type:varchar(256);column:namespace" json:"namespace"` DisplayName string `gorm:"type:varchar(256);column:display_name" json:"display_name"` // Kubernetes UID UID string `gorm:"type:varchar(256);column:uid" json:"uid"` Status apiv1.JobConditionType `gorm:"type:varchar(32);column:status" json:"status"` // Kind of this job: TFJob, PytorchJob... Kind string `gorm:"type:varchar(32);column:kind" json:"kind"` JobJson string `gorm:"type:text;column:job_json" json:"job_json"` // RegionID indicates the physical region(IDC) this job located in, reserved for // jobs running in across-region-clusters. RegionID *string `gorm:"type:varchar(256);column:region_id" json:"region_id,omitempty"` ClusterID *string `gorm:"type:varchar(256);column:cluster_id" json:"cluster_id,omitempty"` // Fields reserved for multi-tenancy job management scenarios, indicating // which tenant this job belongs to and who's the owner(user). Tenant *string `gorm:"type:varchar(128);column:tenant_id" json:"tenant_id,omitempty"` Group *string `gorm:"type:varchar(128);column:group_id" json:"group_id,omitempty"` // if created by RAM account, user is aliyun accountid, else user is username User *string `gorm:"type:varchar(128);column:user_id" json:"user_id,omitempty"` CreatedBy *string `gorm:"type:varchar(64);column:created_by" json:"created_by,omitempty"` ReasonCode *string `gorm:"type:varchar(128);column:reason_code" json:"reason_code"` Reason *string `gorm:"type:varchar(1024);column:reason" json:"reason"` EtcdVersion string `gorm:"type:varchar(64);column:etcd_version" json:"etcd_version"` IsInK8s int `gorm:"type:tinyint(4);column:is_in_k8s" json:"is_in_k8s"` // IsDeleted indicates that whether this job has been deleted or not. IsDeleted *int `gorm:"type:tinyint(4);column:is_deleted;default:0" json:"is_deleted,omitempty"` EnableGPUTopologyAware *int8 `gorm:"type:tinyint(4);column:is_enable_gpu_topo_aware" json:"is_enable_gpu_topo_aware"` // Optional remark text reserved. Extended *string `gorm:"type:text;column:extended" json:"extended,omitempty"` // Timestamps of different job phases and status transitions. GmtCreated time.Time `gorm:"type:datetime;column:gmt_created" json:"gmt_created"` GmtModified time.Time `gorm:"type:datetime;column:gmt_modified" json:"gmt_modified"` GmtJobSubmitted time.Time `gorm:"type:datetime;column:gmt_job_submitted" json:"gmt_job_submitted"` GmtJobStopped *time.Time `gorm:"type:datetime;column:gmt_job_stopped" json:"gmt_job_stopped,omitempty"` GmtJobRunning *time.Time `gorm:"type:datetime;column:gmt_job_running" json:"gmt_job_running,omitempty"` GmtJobFinished *time.Time `gorm:"type:datetime;column:gmt_job_finished" json:"gmt_job_finished,omitempty"` // Resources this job requested, including replicas and resources of each type, // it's formatted as follows: // { // "PS": { // "replicas": 1, // "resources": {"cpu":2, "memory": "10Gi"} // }, // "Worker": { // "replicas": 2, // "resources": {"cpu":2, "memory": "10Gi"} // } // } Resources string `gorm:"type:text;column:resources" json:"resources"` // JobConfig indicates this job's basic config // it's formatted as follows: // { // "code_bindings": { // "source": "https://code.aliyun.com/xiaozhou/tensorflow-sample-code.git", // "branch": "master" // }, // "data_bindings": [ // "pai-deeplearning-oss", // "pai-deeplearning-nas" // ], // "commands": [ // "/bin/sh", // "-c", // "python tensorflow-sample-code/tfjob/docker/mnist/main.py --max_steps=10000 --data_dir=tensorflow-sample-code/data/" // ] // } JobConfig string `gorm:"type:text;column:job_config" json:"job_config,omitempty"` }
Job contains fields collected from original Job object and extra info that we concerned about, they will be persisted by storage backend.
func (*Job) BeforeCreate ¶
BeforeUpdate update gmt_modified timestamp.
func (*Job) BeforeUpdate ¶
BeforeUpdate update gmt_modified timestamp.
type Model ¶
type Model struct { //ID uint64 `gorm:"type:bigint(20) NOT NULL AUTO_INCREMENT;column:id;key" json:"id"` ID uint64 `gorm:"type:bigint(20) NOT NULL AUTO_INCREMENT;column:id;primaryKey" json:"id"` Name string `gorm:"type:varchar(256);column:model_name" json:"model_name"` Version string `gorm:"type:varchar(256);column:model_version" json:"model_version"` OSSPath string `gorm:"type:varchar(256);column:oss_path" json:"oss_path"` JobID string `gorm:"type:varchar(256);column:job_id" json:"job_id"` // if created by RAM account, user is aliyun accountid, else user is username User *string `gorm:"type:varchar(128);column:user_id" json:"user_id,omitempty"` GmtCreated time.Time `gorm:"type:datetime;column:gmt_created" json:"gmt_created"` }
func (*Model) BeforeCreate ¶
BeforeCreate update gmt_modified timestamp.
func (*Model) BeforeUpdate ¶
BeforeUpdate update gmt_modified timestamp.
type Notebook ¶
type Notebook struct { ID uint64 `gorm:"type:bigint(20) NOT NULL AUTO_INCREMENT;column:id;primaryKey" json:"id"` Name string `gorm:"type:varchar(256);column:name" json:"name"` Namespace string `gorm:"type:varchar(256);column:namespace" json:"namespace"` Image string `gorm:"type:varchar(256);column:image" json:"image"` Volumes string `gorm:"type:text;column:volumes" json:"volumes"` Cpu string `gorm:"type:varchar(256);column:cpu" json:"cpu"` Gpu string `gorm:"type:varchar(256);column:gpu" json:"gpu"` Memory string `gorm:"type:varchar(256);column:memory" json:"memory"` UserName string `gorm:"type:varchar(256);column:user_name" json:"user_name"` // if created by RAM account, user is aliyun accountid, else user is username User *string `gorm:"type:varchar(128);column:user_id" json:"user_id,omitempty"` Token string `gorm:"type:varchar(256);column:token" json:"token"` Status string `gorm:"type:varchar(256);column:status" json:"status"` ImagePullSecrets string `gorm:"type:text;column:image_pull_secrets" json:"image_pull_secrets"` GmtCreated time.Time `gorm:"type:datetime;column:gmt_created" json:"gmt_created"` }
func (*Notebook) BeforeCreate ¶
BeforeCreate update gmt_modified timestamp.
type Pod ¶
type Pod struct { // Primary ID auto incremented by underlying database. ID uint64 `gorm:"type:bigint(20) NOT NULL AUTO_INCREMENT;column:id;primaryKey" json:"id"` // Metadata we concerned aggregated from pod object. Name string `gorm:"type:varchar(256);column:name" json:"name"` Namespace string `gorm:"type:varchar(256);column:namespace" json:"namespace"` // Kubernetes UID UID string `gorm:"type:varchar(256);column:uid" json:"uid"` EtcdVersion string `gorm:"type:varchar(64);column:etcd_version" json:"etcd_version"` Status v1.PodPhase `gorm:"type:varchar(32);column:status" json:"status"` Image string `gorm:"type:varchar(256);column:image" json:"image"` GPU int `gorm:"type:tinyint(4);column:gpu" json:"gpu"` // Job UID of this pod controlled by. JobUID string `gorm:"type:varchar(256);column:job_uid" json:"job_uid"` // Job name of this pod controlled by. JobName string `gorm:"type:varchar(256);column:job_name" json:"job_name"` // Replica type of this pod figured in training job. ReplicaType string `gorm:"type:varchar(32);column:replica_type" json:"replica_type"` PodJson string `gorm:"type:text;column:pod_json" json:"pod_json"` // IP information allocated for this pod. HostIP *string `gorm:"type:varchar(64);column:host_ip" json:"host_ip,omitempty"` PodIP *string `gorm:"type:varchar(64);column:pod_ip" json:"pod_ip,omitempty"` // Optional remark text reserved. Extended *string `gorm:"type:varchar(4096);column:extended" json:"extended,omitempty"` // Timestamps of different pod phases and status transitions. GmtCreated time.Time `gorm:"type:datetime;column:gmt_created" json:"gmt_created"` GmtModified time.Time `gorm:"type:datetime;column:gmt_modified" json:"gmt_modified"` GmtPodRunning *time.Time `gorm:"type:datetime;column:gmt_pod_running" json:"gmt_pod_running,omitempty"` GmtPodFinished *time.Time `gorm:"type:datetime;column:gmt_pod_finished" json:"gmt_pod_finished,omitempty"` }
Pod contains fields collected from original Pod object and extra info that we concerned about, they will be persisted by storage backend.
func (*Pod) BeforeCreate ¶
BeforeCreate update gmt_modified timestamp.
func (*Pod) BeforeUpdate ¶
BeforeUpdate update gmt_modified timestamp.
type SubmitEvaluateJobInfo ¶
type SubmitEvaluateJobInfo struct { Name string `json:"name"` Namespace string `json:"namespace"` Image string `json:"image"` ModelPath string `json:"modelPath"` ModelName string `json:"modelName"` ModelVersion string `json:"modelVersion"` DatasetPath string `json:"datasetPath"` MetricsPath string `json:"metricsPath"` Command []string `json:"command"` DataSources map[string]string `json:"dataSources"` Envs map[string]string `json:"envs"` ImagePullSecrets []string `json:"imagePullSecrets"` Annotations map[string]string `json:"annotations"` WorkingDir string `json:"workingDir"` CPU string `json:"cpu"` Memory string `json:"memory"` GPU int `json:"gpu"` CodeType string `json:"codeType"` CodeSource string `json:"codeSource"` CodeBranch string `json:"codeBranch"` CodeDestPath string `json:"codeDestPath"` CodeUser string `json:"codeUser"` CodePassword string `json:"codePassword"` }
type SubmitJobInfo ¶
type SubmitJobInfo struct { Name string `json:"name"` Namespace string `json:"namespace"` Kind string `json:"kind"` Annotations map[string]string `json:"annotations"` Labels map[string]string `json:"labels"` NodeSelectors map[string]string `json:"nodeSelectors"` Toleration map[string]TolerationData `json:"tolerates"` Shell string `json:"shell"` Command []string `json:"command"` ImagePullSecrets []string `json:"imagePullSecrets"` WorkingDir string `json:"workingDir"` ChiefImage string `json:"chiefImage"` ChiefCPU string `json:"chiefCPU"` ChiefMemory string `json:"chiefMemory"` ChiefGPU int `json:"chiefGPU"` PsCount int32 `json:"psCount"` PsImage string `json:"psImage"` PsCPU string `json:"psCPU"` PsMemory string `json:"psMemory"` PsGPU int `json:"psGPU"` WorkerCount int32 `json:"workerCount"` WorkerImage string `json:"workerImage"` WorkerCPU string `json:"workerCPU"` WorkerMemory string `json:"workerMemory"` WorkerGPU int `json:"workerGPU"` EvaluatorImage string `json:"evaluatorImage"` EvaluatorCPU string `json:"evaluatorCPU"` EvaluatorMemory string `json:"evaluatorMemory"` EvaluatorGPU int `json:"evaluatorGPU"` Devices map[string]string `json:"devices"` Volumes map[string]string `json:"volumes"` CodeType string `json:"codeType"` CodeSource string `json:"codeSource"` CodeBranch string `json:"codeBranch"` CodeDestPath string `json:"codeDestPath"` CodeUser string `json:"codeUser"` CodePassword string `json:"codePassword"` EnableTensorboard bool `json:"enableTensorboard"` LogDir string `json:"logDir"` TensorboardHost string `json:"tensorboardHost"` EnableCron bool `json:"enableCron"` Schedule string `json:"schedule"` ConcurrencyPolicy string `json:"concurrencyPolicy"` Deadline string `json:"deadline"` HistoryLimit int `json:"historyLimit"` TTLSecondsAfterFinished int32 `json:"ttlSecondsAfterFinished"` }