Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
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:"column:id;not null;AUTO_INCREMENT;primary_key" json:"id"`
// Metadata we concerned aggregated from job object.
Name string `gorm:"type:varchar(128);column:name" json:"name"`
Namespace string `gorm:"type:varchar(128);column:namespace" json:"namespace"`
JobID string `gorm:"type:varchar(64);column:job_id" json:"job_id"`
Version string `gorm:"type:varchar(32);column:version" json:"version"`
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"`
// 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"`
// DeployRegion indicates the physical region(IDC) this job located in,
// reserved for jobs running in across-region-clusters.
DeployRegion *string `gorm:"type:varchar(64);column:deploy_region" json:"deploy_region,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(255);column:tenant" json:"tenant,omitempty"`
Owner *string `gorm:"type:varchar(255);column:owner" json:"owner,omitempty"`
// Deleted indicates that whether this job has been deleted or not.
Deleted *int `gorm:"type:tinyint(4);column:deleted" json:"deleted,omitempty"`
// IsInEtcd indicates that whether record of this job has been removed from etcd.
// Deleted job could stay up in etcd due to different runtime policies.
IsInEtcd *int `gorm:"type:tinyint(4);column:is_in_etcd" json:"is_in_etcd,omitempty"`
// Optional remark text reserved.
Remark *string `gorm:"type:text;column:remark" json:"remark,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"`
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"`
}
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 Notebook ¶ added in v0.4.2
type Notebook struct {
// Primary ID auto incremented by underlying database.
ID uint64 `gorm:"column:id;not null;AUTO_INCREMENT;primary_key" json:"id"`
// Metadata we concerned aggregated from notebook object.
Name string `gorm:"type:varchar(128);column:name" json:"name"`
Namespace string `gorm:"type:varchar(128);column:namespace" json:"namespace"`
NotebookID string `gorm:"type:varchar(64);column:notebook_id" json:"notebook_id"`
Version string `gorm:"type:varchar(32);column:version" json:"version"`
Status string `gorm:"type:varchar(32);column:status" json:"status"`
Url string `gorm:"type:text;column:url" json:"url,omitempty"`
Resources string `gorm:"type:text;column:resources" json:"resources"`
// DeployRegion indicates the physical region(IDC) this notebook located in,
// reserved for notebooks running in across-region-clusters.
DeployRegion *string `gorm:"type:varchar(64);column:deploy_region" json:"deploy_region,omitempty"`
// Fields reserved for multi-tenancy management scenarios, indicating
// which tenant this notebook belongs to and who's the owner(user).
Tenant *string `gorm:"type:varchar(255);column:tenant" json:"tenant,omitempty"`
Owner *string `gorm:"type:varchar(255);column:owner" json:"owner,omitempty"`
// Deleted indicates that whether this notebook has been deleted or not.
Deleted *int `gorm:"type:tinyint(4);column:deleted" json:"deleted,omitempty"`
// IsInEtcd indicates that whether record of this notebook has been removed from etcd.
// Deleted notebook could stay up in etcd due to different runtime policies.
IsInEtcd *int `gorm:"type:tinyint(4);column:is_in_etcd" json:"is_in_etcd,omitempty"`
// Optional remark text reserved.
Remark *string `gorm:"type:text;column:remark" json:"remark,omitempty"`
// Timestamps of different notebook 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"`
GmtRunning *time.Time `gorm:"type:datetime;column:gmt_running" json:"gmt_running,omitempty"`
GmtTerminated *time.Time `gorm:"type:datetime;column:gmt_finished" json:"gmt_terminated,omitempty"`
}
Notebook contains fields collected from original Notebook object and extra info that we concerned about, they will be persisted by storage backend.
type Pod ¶
type Pod struct {
// Primary ID auto incremented by underlying database.
ID uint64 `gorm:"column:id;not null;AUTO_INCREMENT;primary_key" json:"id"`
// Metadata we concerned aggregated from pod object.
Name string `gorm:"type:varchar(128);column:name" json:"name"`
Namespace string `gorm:"type:varchar(128);column:namespace" json:"namespace"`
PodID string `gorm:"type:varchar(64);column:pod_id" json:"pod_id"`
Version string `gorm:"type:varchar(32);column:version" json:"version"`
Status v1.PodPhase `gorm:"type:varchar(32);column:status" json:"status"`
Image string `gorm:"type:varchar(255);column:image" json:"image"`
// Job ID of this pod controlled by.
JobID string `gorm:"type:varchar(64);column:job_id" json:"job_id"`
// Replica type of this pod figured in training job.
ReplicaType string `gorm:"type:varchar(32);column:replica_type" json:"replica_type"`
// Resources this pod requested, marshaled from a ResourceRequirements object.
Resources string `gorm:"type:varchar(1024);column:resources" json:"resources"`
// 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"`
// DeployRegion indicates the physical region(IDC) this pod located in,
DeployRegion *string `gorm:"type:varchar(64);column:deploy_region" json:"deploy_region,omitempty"`
// Deleted indicates that whether this pod has been deleted or not.
Deleted *int `gorm:"type:tinyint(4);column:deleted" json:"is_del,omitempty"`
// IsInEtcd indicates that whether record of this pod has been removed from etcd.
// Deleted pod could stay up in etcd due to different runtime policies.
IsInEtcd *int `gorm:"type:tinyint(4);column:is_in_etcd" json:"is_in_etcd,omitempty"`
// Optional remark text reserved.
Remark *string `gorm:"type:text;column:remark" json:"remark,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"`
GmtStarted *time.Time `gorm:"type:datetime;column:gmt_started" json:"gmt_started,omitempty"`
GmtFinished *time.Time `gorm:"type:datetime;column:gmt_finished" json:"gmt_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.