From 3a271a461d57b42b1acbcbacef620db7e8c7bed4 Mon Sep 17 00:00:00 2001 From: yuyuanshifu <747342561@qq.com> Date: Tue, 17 Nov 2020 20:50:00 +0800 Subject: [PATCH 01/11] image list --- ...€æºç¤¾åŒºä¸Žäº‘è„‘å¹³å°å¯¹æŽ¥æ–¹æ¡ˆ.docx | Bin 353759 -> 512782 bytes models/cloudbrain.go | 50 ++++++++++++++++++ modules/cloudbrain/cloudbrain.go | 44 +++++++++++++-- modules/cloudbrain/resty.go | 31 +++++++++++ routers/repo/cloudbrain.go | 19 ++++++- templates/repo/cloudbrain/index.tmpl | 20 +++++-- templates/repo/cloudbrain/new.tmpl | 30 ++++++++++- 7 files changed, 184 insertions(+), 10 deletions(-) mode change 100644 => 100755 models/cloudbrain.go mode change 100644 => 100755 modules/cloudbrain/resty.go mode change 100644 => 100755 routers/repo/cloudbrain.go mode change 100644 => 100755 templates/repo/cloudbrain/index.tmpl mode change 100644 => 100755 templates/repo/cloudbrain/new.tmpl diff --git a/docs/å¼€æºç¤¾åŒºä¸Žäº‘è„‘å¹³å°å¯¹æŽ¥æ–¹æ¡ˆ.docx b/docs/å¼€æºç¤¾åŒºä¸Žäº‘è„‘å¹³å°å¯¹æŽ¥æ–¹æ¡ˆ.docx index 8db5c651aa172201b1382532b4b6a303720c4816..20966e9924f8767e0bc202093f7a8954085d927b 100755 GIT binary patch delta 220634 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 z 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

Yo&H0 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 diff --git a/models/cloudbrain.go b/models/cloudbrain.go old mode 100644 new mode 100755 index 997cf41cf..dffb4dd0c --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -1,6 +1,7 @@ package models import ( + "code.gitea.io/gitea/modules/log" "encoding/json" "errors" "fmt" @@ -27,6 +28,7 @@ type Cloudbrain struct { Status string `xorm:"INDEX"` UserID int64 `xorm:"INDEX"` RepoID int64 `xorm:"INDEX"` + SubTaskName string `xorm:"INDEX"` CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"` UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"` @@ -52,6 +54,17 @@ type TaskRole struct { Command string `json:"command"` NeedIBDevice bool `json:"needIBDevice"` IsMainRole bool `json:"isMainRole"` + UseNNI bool `json:"useNNI"` +} + +type StHostPath struct { + Path string `json:"path"` + MountPath string `json:"mountPath"` + ReadOnly bool `json:"readOnly"` +} + +type Volume struct { + HostPath StHostPath `json:"hostPath"` } type CreateJobParams struct { @@ -60,6 +73,7 @@ type CreateJobParams struct { GpuType string `json:"gpuType"` Image string `json:"image"` TaskRoles []TaskRole `json:"taskRoles"` + Volumes []Volume `json:"volumes"` } type CreateJobResult struct { @@ -74,6 +88,12 @@ type GetJobResult struct { Payload map[string]interface{} `json:"payload"` } +type GetImagesResult struct { + Code string `json:"code"` + Msg string `json:"msg"` + Payload map[string]ImageInfo `json:"payload"` +} + type CloudbrainsOptions struct { ListOptions RepoID int64 // include all repos if empty @@ -173,6 +193,36 @@ func ConvertToJobResultPayload(input map[string]interface{}) (JobResultPayload, return jobResultPayload, err } +type ImagesResultPayload struct { + Images []struct { + ID int `json:"id"` + Name string `json:"name"` + Place string `json:"place"` + Description string `json:"description"` + Provider string `json:"provider"` + Createtime string `json:"createtime"` + Remark string `json:"remark"` + } `json:"taskStatuses"` +} +type ImageInfo struct { + ID int `json:"id"` + Name string `json:"name"` + Place string `json:"place"` + Description string `json:"description"` + Provider string `json:"provider"` + Createtime string `json:"createtime"` + Remark string `json:"remark"` +} + + +func ConvertToImagesResultPayload(input map[string]ImageInfo) (ImagesResultPayload, error) { + for _,info := range input { + log.Info(info.Name) + } + var res ImagesResultPayload + return res, nil +} + func Cloudbrains(opts *CloudbrainsOptions) ([]*Cloudbrain, int64, error) { sess := x.NewSession() defer sess.Close() diff --git a/modules/cloudbrain/cloudbrain.go b/modules/cloudbrain/cloudbrain.go index 96a6f2957..6639797c0 100755 --- a/modules/cloudbrain/cloudbrain.go +++ b/modules/cloudbrain/cloudbrain.go @@ -3,20 +3,32 @@ package cloudbrain import ( "errors" + "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/context" + "code.gitea.io/gitea/modules/log" +) + +const ( + Command = `pip3 install jupyterlab==1.1.4;service ssh stop;jupyter lab --no-browser --ip=0.0.0.0 --allow-root --notebook-dir=\"/userhome\" --port=80 --NotebookApp.token=\"\" --LabApp.allow_origin=\"self https://cloudbrain.pcl.ac.cn\"` + CodeMountPath = "/code" + DataSetMountPath = "/dataset" + ModelMountPath = "/model" + + SubTaskName = "task1" + + DebugGPUType = "DEBUG" - "code.gitea.io/gitea/models" ) func GenerateTask(ctx *context.Context, jobName, image, command string) error { jobResult, err := CreateJob(jobName, models.CreateJobParams{ JobName: jobName, RetryCount: 1, - GpuType: "dgx", + GpuType: DebugGPUType, Image: image, TaskRoles: []models.TaskRole{ { - Name: "task1", + Name: SubTaskName, TaskNumber: 1, MinSucceededTaskCount: 1, MinFailedTaskCount: 1, @@ -27,6 +39,30 @@ func GenerateTask(ctx *context.Context, jobName, image, command string) error { Command: command, NeedIBDevice: false, IsMainRole: false, + UseNNI: false, + }, + }, + Volumes: []models.Volume{ + { + HostPath: models.StHostPath{ + Path: "", + MountPath: CodeMountPath, + ReadOnly: true, + }, + }, + { + HostPath: models.StHostPath{ + Path: "", + MountPath: DataSetMountPath, + ReadOnly: false, + }, + }, + { + HostPath: models.StHostPath{ + Path: "", + MountPath: ModelMountPath, + ReadOnly: true, + }, }, }, }) @@ -34,6 +70,7 @@ func GenerateTask(ctx *context.Context, jobName, image, command string) error { return err } if jobResult.Code != "S000" { + log.Error("CreateJob(%s) failed:%s", jobName, jobResult.Msg) return errors.New(jobResult.Msg) } @@ -44,6 +81,7 @@ func GenerateTask(ctx *context.Context, jobName, image, command string) error { RepoID: ctx.Repo.Repository.ID, JobID: jobID, JobName: jobName, + SubTaskName: SubTaskName, }) if err != nil { diff --git a/modules/cloudbrain/resty.go b/modules/cloudbrain/resty.go old mode 100644 new mode 100755 index 88134bab7..b49caedb6 --- a/modules/cloudbrain/resty.go +++ b/modules/cloudbrain/resty.go @@ -118,3 +118,34 @@ sendjob: return &getJobResult, nil } + +func GetImages() (*models.GetImagesResult, error) { + checkSetting() + client := getRestyClient() + var getImagesResult models.GetImagesResult + + retry := 0 + +sendjob: + res, err := client.R(). + SetHeader("Content-Type", "application/json"). + SetAuthToken(TOKEN). + SetResult(&getImagesResult). + Get(HOST + "/rest-server/api/v1/image/list/") + + if err != nil { + return nil, fmt.Errorf("resty GetJob: %s", err) + } + + if getImagesResult.Code == "S401" && retry < 1 { + retry++ + _ = loginCloudbrain() + goto sendjob + } + + if getImagesResult.Code != "S000" { + return &getImagesResult, fmt.Errorf("getImgesResult err: %s", res.String()) + } + + return &getImagesResult, nil +} diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go old mode 100644 new mode 100755 index e258eadd7..5b54f3791 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -68,8 +68,23 @@ func CloudBrainNew(ctx *context.Context) { t := time.Now() var jobName = cutString(ctx.User.Name, 5) + t.Format("2006010215") + strconv.Itoa(int(t.Unix()))[:5] ctx.Data["job_name"] = jobName - ctx.Data["image"] = "192.168.202.74:5000/user-images/deepo:v2.0" - ctx.Data["command"] = `pip3 install jupyterlab==1.1.4;service ssh stop;jupyter lab --no-browser --ip=0.0.0.0 --allow-root --notebook-dir=\"/userhome\" --port=80 --NotebookApp.token=\"\" --LabApp.allow_origin=\"self https://cloudbrain.pcl.ac.cn\"` + + result, err := cloudbrain.GetImages() + if err != nil { + ctx.Data["error"] = err.Error() + } + + if result != nil { + //models.ConvertToImagesResultPayload(result.Payload) + ctx.Data["image"] = result.Payload + } else { + ctx.Data["image"] = "192.168.202.74:5000/user-images/deepo:v2.0" + } + + ctx.Data["command"] = cloudbrain.Command + ctx.Data["code_path"] = cloudbrain.CodeMountPath + ctx.Data["dataset_path"] = cloudbrain.DataSetMountPath + ctx.Data["model_path"] = cloudbrain.ModelMountPath ctx.HTML(200, tplCloudBrainNew) } diff --git a/templates/repo/cloudbrain/index.tmpl b/templates/repo/cloudbrain/index.tmpl old mode 100644 new mode 100755 index 05e98506e..d1e9ababb --- a/templates/repo/cloudbrain/index.tmpl +++ b/templates/repo/cloudbrain/index.tmpl @@ -35,25 +35,39 @@ {{range .Tasks}}
-
+ -
+
{{.Status}}
{{svg "octicon-flame" 16}} {{TimeSinceUnix .CreatedUnix $.Lang}}
-
{{end}} diff --git a/templates/repo/cloudbrain/new.tmpl b/templates/repo/cloudbrain/new.tmpl old mode 100644 new mode 100755 index 944d7b25f..cfaead632 --- a/templates/repo/cloudbrain/new.tmpl +++ b/templates/repo/cloudbrain/new.tmpl @@ -16,20 +16,46 @@

+
+ <--> +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
- +
- Cancel + {{.i18n.Tr "repo.cloudbrain.cancel"}}
From 95149adaecc6b121fb48c688a50785782917288d Mon Sep 17 00:00:00 2001 From: yuyuanshifu <747342561@qq.com> Date: Thu, 19 Nov 2020 18:02:36 +0800 Subject: [PATCH 02/11] add code --- models/attachment.go | 16 +++++++ models/cloudbrain.go | 9 ++-- models/dataset.go | 0 modules/auth/cloudbrain.go | 5 +- modules/cloudbrain/cloudbrain.go | 29 ++++++++---- modules/cloudbrain/resty.go | 13 +++-- modules/setting/setting.go | 4 ++ routers/repo/attachment.go | 2 +- routers/repo/cloudbrain.go | 76 +++++++++++++++++++++++++++--- templates/repo/cloudbrain/new.tmpl | 26 +++++----- 10 files changed, 137 insertions(+), 43 deletions(-) mode change 100644 => 100755 models/dataset.go mode change 100644 => 100755 modules/auth/cloudbrain.go diff --git a/models/attachment.go b/models/attachment.go index 3d4e4d136..20f94d1a1 100755 --- a/models/attachment.go +++ b/models/attachment.go @@ -371,3 +371,19 @@ func getPrivateAttachments(e Engine, userID int64) ([]*Attachment, error) { return attachments, e.Where("uploader_id = ? and decompress_state = ?", userID, DecompressStateDone).Find(&attachments) } +func GetAllUserAttachments(userID int64) ([]*Attachment, error) { + attachsPub, err := getAllPublicAttachments(x) + if err != nil { + log.Error("getAllPublicAttachments failed:%v", err) + return nil, err + } + + attachsPri, err := getPrivateAttachments(x, userID) + if err != nil { + log.Error("getPrivateAttachments failed:%v", err) + return nil, err + } + + return append(attachsPub, attachsPri...), nil +} + diff --git a/models/cloudbrain.go b/models/cloudbrain.go index dffb4dd0c..552ce74a7 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -77,9 +77,9 @@ type CreateJobParams struct { } type CreateJobResult struct { - Code string - Msg string - Payload map[string]interface{} + Code string `json:"code"` + Msg string `json:"msg"` + Payload map[string]interface{} `json:"payload"` } type GetJobResult struct { @@ -91,7 +91,7 @@ type GetJobResult struct { type GetImagesResult struct { Code string `json:"code"` Msg string `json:"msg"` - Payload map[string]ImageInfo `json:"payload"` + Payload map[string]*ImageInfo `json:"payload"` } type CloudbrainsOptions struct { @@ -212,6 +212,7 @@ type ImageInfo struct { Provider string `json:"provider"` Createtime string `json:"createtime"` Remark string `json:"remark"` + PlaceView string } diff --git a/models/dataset.go b/models/dataset.go old mode 100644 new mode 100755 diff --git a/modules/auth/cloudbrain.go b/modules/auth/cloudbrain.go old mode 100644 new mode 100755 index 938bf087e..ca3848a65 --- a/modules/auth/cloudbrain.go +++ b/modules/auth/cloudbrain.go @@ -8,8 +8,9 @@ import ( // CreateDatasetForm form for dataset page type CreateCloudBrainForm struct { JobName string `form:"job_name" binding:"Required"` - Image string `binding:"Required"` - Command string `binding:"Required"` + Image string `form:"image" binding:"Required"` + Command string `form:"command" binding:"Required"` + Attachment string `form:"attachment" binding:"Required"` } func (f *CreateCloudBrainForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { diff --git a/modules/cloudbrain/cloudbrain.go b/modules/cloudbrain/cloudbrain.go index 6639797c0..494e2799f 100755 --- a/modules/cloudbrain/cloudbrain.go +++ b/modules/cloudbrain/cloudbrain.go @@ -1,6 +1,7 @@ package cloudbrain import ( + "code.gitea.io/gitea/modules/setting" "errors" "code.gitea.io/gitea/models" @@ -9,18 +10,25 @@ import ( ) const ( - Command = `pip3 install jupyterlab==1.1.4;service ssh stop;jupyter lab --no-browser --ip=0.0.0.0 --allow-root --notebook-dir=\"/userhome\" --port=80 --NotebookApp.token=\"\" --LabApp.allow_origin=\"self https://cloudbrain.pcl.ac.cn\"` + Command = `pip3 install jupyterlab==2.2.5 -i https://pypi.tuna.tsinghua.edu.cn/simple;service ssh stop;jupyter lab --no-browser --ip=0.0.0.0 --allow-root --notebook-dir="/code" --port=80 --LabApp.token="" --LabApp.allow_origin="self https://cloudbrain.pcl.ac.cn"` CodeMountPath = "/code" DataSetMountPath = "/dataset" ModelMountPath = "/model" SubTaskName = "task1" - DebugGPUType = "DEBUG" + DebugGPUType = "debug" + + Success = "S000" ) -func GenerateTask(ctx *context.Context, jobName, image, command string) error { +func GenerateTask(ctx *context.Context, jobName, image, command, uuid, codePath, modelPath string) error { + dataActualPath := setting.Attachment.Minio.RealPath + + setting.Attachment.Minio.Bucket + "/" + + setting.Attachment.Minio.BasePath + + models.AttachmentRelativePath(uuid) + + uuid jobResult, err := CreateJob(jobName, models.CreateJobParams{ JobName: jobName, RetryCount: 1, @@ -45,31 +53,32 @@ func GenerateTask(ctx *context.Context, jobName, image, command string) error { Volumes: []models.Volume{ { HostPath: models.StHostPath{ - Path: "", + Path: codePath, MountPath: CodeMountPath, - ReadOnly: true, + ReadOnly: false, }, }, { HostPath: models.StHostPath{ - Path: "", + Path: dataActualPath, MountPath: DataSetMountPath, - ReadOnly: false, + ReadOnly: true, }, }, { HostPath: models.StHostPath{ - Path: "", + Path: modelPath, MountPath: ModelMountPath, - ReadOnly: true, + ReadOnly: false, }, }, }, }) if err != nil { + log.Error("CreateJob failed:", err.Error()) return err } - if jobResult.Code != "S000" { + if jobResult.Code != Success { log.Error("CreateJob(%s) failed:%s", jobName, jobResult.Msg) return errors.New(jobResult.Msg) } diff --git a/modules/cloudbrain/resty.go b/modules/cloudbrain/resty.go index b49caedb6..09229b254 100755 --- a/modules/cloudbrain/resty.go +++ b/modules/cloudbrain/resty.go @@ -1,6 +1,7 @@ package cloudbrain import ( + "code.gitea.io/gitea/modules/log" "fmt" "code.gitea.io/gitea/models" @@ -47,7 +48,7 @@ func loginCloudbrain() error { return fmt.Errorf("resty loginCloudbrain: %s", err) } - if loginResult.Code != "S000" { + if loginResult.Code != Success { return fmt.Errorf("%s: %s", loginResult.Msg, res.String()) } @@ -62,13 +63,15 @@ func CreateJob(jobName string, createJobParams models.CreateJobParams) (*models. retry := 0 + log.Info("", createJobParams.Volumes) + sendjob: res, err := client.R(). SetHeader("Content-Type", "application/json"). SetAuthToken(TOKEN). SetBody(createJobParams). SetResult(&jobResult). - Put(HOST + "/rest-server/api/v1/jobs/" + jobName) + Post(HOST + "/rest-server/api/v1/jobs/") if err != nil { return nil, fmt.Errorf("resty create job: %s", err) @@ -80,7 +83,7 @@ sendjob: goto sendjob } - if jobResult.Code != "S000" { + if jobResult.Code != Success { return &jobResult, fmt.Errorf("jobResult err: %s", res.String()) } @@ -112,7 +115,7 @@ sendjob: goto sendjob } - if getJobResult.Code != "S000" { + if getJobResult.Code != Success { return &getJobResult, fmt.Errorf("jobResult GetJob err: %s", res.String()) } @@ -143,7 +146,7 @@ sendjob: goto sendjob } - if getImagesResult.Code != "S000" { + if getImagesResult.Code != Success { return &getImagesResult, fmt.Errorf("getImgesResult err: %s", res.String()) } diff --git a/modules/setting/setting.go b/modules/setting/setting.go index af902cb79..45056e262 100755 --- a/modules/setting/setting.go +++ b/modules/setting/setting.go @@ -438,6 +438,8 @@ var ( ClientSecret string UserCeterHost string RestServerHost string + JobPath string + DebugServerHost string ) // DateLang transforms standard language locale name to corresponding value in datetime plugin. @@ -1113,6 +1115,8 @@ func NewContext() { ClientSecret = sec.Key("CLIENT_SECRET").MustString("J5ykfVl2kcxW0H9cawSL") UserCeterHost = sec.Key("USER_CENTER_HOST").MustString("http://192.168.202.73:31441") RestServerHost = sec.Key("REST_SERVER_HOST").MustString("http://192.168.202.73") + JobPath = sec.Key("JOB_PATH").MustString("/datasets/minio/data/opendata/jobs/") + DebugServerHost = sec.Key("DEBUG_SERVER_HOST").MustString("http://192.168.202.73") } func loadInternalToken(sec *ini.Section) string { diff --git a/routers/repo/attachment.go b/routers/repo/attachment.go index 3881ff733..6bb3933fa 100755 --- a/routers/repo/attachment.go +++ b/routers/repo/attachment.go @@ -661,7 +661,7 @@ func queryDatasets(ctx *context.Context, username string, attachs []*models.Atta continue } - datasets = append(datasets, CloudBrainDataset{attch.UUID, + datasets = append(datasets, CloudBrainDataset{string(attch.ID), attch.Name, setting.Attachment.Minio.RealPath + setting.Attachment.Minio.Bucket + "/" + diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index 5b54f3791..898b49c5f 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -1,7 +1,10 @@ package repo import ( + "os" + "os/exec" "strconv" + "strings" "time" "code.gitea.io/gitea/models" @@ -9,6 +12,7 @@ import ( "code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/cloudbrain" "code.gitea.io/gitea/modules/context" + "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" ) @@ -66,7 +70,7 @@ func CloudBrainNew(ctx *context.Context) { ctx.Data["PageIsCloudBrain"] = true t := time.Now() - var jobName = cutString(ctx.User.Name, 5) + t.Format("2006010215") + strconv.Itoa(int(t.Unix()))[:5] + var jobName = cutString(ctx.User.Name, 5) + t.Format("2006010215") + strconv.Itoa(int(t.Unix()))[5:] ctx.Data["job_name"] = jobName result, err := cloudbrain.GetImages() @@ -74,13 +78,24 @@ func CloudBrainNew(ctx *context.Context) { ctx.Data["error"] = err.Error() } - if result != nil { - //models.ConvertToImagesResultPayload(result.Payload) - ctx.Data["image"] = result.Payload - } else { - ctx.Data["image"] = "192.168.202.74:5000/user-images/deepo:v2.0" + for i,payload := range result.Payload { + if strings.HasPrefix(result.Payload[i].Place,"192.168") { + result.Payload[i].PlaceView = payload.Place[strings.Index(payload.Place, "/"): len(payload.Place)-1] + } else { + result.Payload[i].PlaceView = payload.Place + } + + } + + ctx.Data["images"] = result.Payload + + attachs, err := models.GetAllUserAttachments(ctx.User.ID) + if err != nil { + ctx.ServerError("GetAllUserAttachments failed:", err) + return } + ctx.Data["attachments"] = attachs ctx.Data["command"] = cloudbrain.Command ctx.Data["code_path"] = cloudbrain.CodeMountPath ctx.Data["dataset_path"] = cloudbrain.DataSetMountPath @@ -93,7 +108,23 @@ func CloudBrainCreate(ctx *context.Context, form auth.CreateCloudBrainForm) { jobName := form.JobName image := form.Image command := form.Command - err := cloudbrain.GenerateTask(ctx, jobName, image, command) + uuid := form.Attachment + codePath := setting.JobPath + jobName + cloudbrain.CodeMountPath + repo := ctx.Repo.Repository + err := downloadCode(repo, codePath) + if err != nil { + ctx.RenderWithErr(err.Error(), tplCloudBrainNew, &form) + return + } + + modelPath := setting.JobPath + jobName + "/model" + err = os.MkdirAll(modelPath, os.ModePerm) + if err != nil { + ctx.RenderWithErr(err.Error(), tplCloudBrainNew, &form) + return + } + + err = cloudbrain.GenerateTask(ctx, jobName, image, command, uuid, codePath, modelPath) if err != nil { ctx.RenderWithErr(err.Error(), tplCloudBrainNew, &form) return @@ -127,3 +158,34 @@ func CloudBrainShow(ctx *context.Context) { ctx.Data["jobID"] = jobID ctx.HTML(200, tplCloudBrainShow) } + +func downloadCode(repo *models.Repository, codePath string) error { + /* + if err := git.Clone(repo.RepoPath(), codePath, git.CloneRepoOptions{ + Bare: true, + Shared: true, + }); err != nil { + log.Error("Failed to clone repository: %s (%v)", repo.FullName(), err) + return "", fmt.Errorf("Failed to clone repository: %s (%v)", repo.FullName(), err) + } + + */ + + err := os.MkdirAll(codePath, os.ModePerm) + if err != nil { + log.Error("MkdirAll failed:%v", err) + return err + } + + command := "git clone " + repo.CloneLink().HTTPS + " " + codePath + cmd := exec.Command("/bin/bash", "-c", command) + output, err := cmd.Output() + if err != nil { + log.Error("exec.Command failed:%v", err) + return err + } + + log.Info(string(output)) + + return nil +} diff --git a/templates/repo/cloudbrain/new.tmpl b/templates/repo/cloudbrain/new.tmpl index cfaead632..7d9e1bf12 100755 --- a/templates/repo/cloudbrain/new.tmpl +++ b/templates/repo/cloudbrain/new.tmpl @@ -16,39 +16,37 @@

-
- -
- <--> -
- - + {{range .images}} + {{end}}
- +
- +
- +
- +
- +
From 9536f5da1d14be3348dbd1797f730e78ea841c1c Mon Sep 17 00:00:00 2001 From: yuyuanshifu <747342561@qq.com> Date: Thu, 19 Nov 2020 20:04:14 +0800 Subject: [PATCH 03/11] debug --- models/cloudbrain.go | 14 ++++++++++++++ routers/repo/cloudbrain.go | 28 ++++++++++++++++++++++++++++ routers/routes/routes.go | 1 + templates/repo/cloudbrain/index.tmpl | 4 ++-- 4 files changed, 45 insertions(+), 2 deletions(-) diff --git a/models/cloudbrain.go b/models/cloudbrain.go index 552ce74a7..32558438f 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -6,6 +6,7 @@ import ( "errors" "fmt" "time" + "xorm.io/xorm" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/timeutil" @@ -19,6 +20,7 @@ const ( JobStopped CloudbrainStatus = "STOPPED" JobSucceeded CloudbrainStatus = "SUCCEEDED" JobFailed CloudbrainStatus = "FAILED" + JobRunning CloudbrainStatus = "RUNNING" ) type Cloudbrain struct { @@ -31,6 +33,7 @@ type Cloudbrain struct { SubTaskName string `xorm:"INDEX"` CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"` UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"` + CanDebug bool `xorm:"-"` User *User `xorm:"-"` Repo *Repository `xorm:"-"` @@ -320,3 +323,14 @@ func SetCloudbrainStatusByJobID(jobID string, status CloudbrainStatus) (err erro _, err = x.Cols("status").Where("cloudbrain.job_id=?", jobID).Update(cb) return } + +func UpdateJob(job *Cloudbrain) error { + return updateJob(x, job) +} + +func updateJob(e Engine, job *Cloudbrain) error { + var sess *xorm.Session + sess = e.Where("job_id = ?", job.JobID) + _, err := sess.Cols("status").Update(job) + return err +} diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index 898b49c5f..011435376 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -50,6 +50,15 @@ func CloudBrainIndex(ctx *context.Context) { return } + timestamp := time.Now().Unix() + for i, task := range ciTasks { + if task.Status == string(models.JobRunning) && (timestamp - int64(task.CreatedUnix) > 30){ + ciTasks[i].CanDebug = true + } else { + ciTasks[i].CanDebug = false + } + } + pager := context.NewPagination(int(count), setting.UI.IssuePagingNum, page, 5) pager.SetDefaultParams(ctx) ctx.Data["Page"] = pager @@ -153,12 +162,31 @@ func CloudBrainShow(ctx *context.Context) { taskRoles := jobRes.TaskRoles taskRes, _ := models.ConvertToTaskPod(taskRoles["task1"].(map[string]interface{})) ctx.Data["taskRes"] = taskRes + task.Status = taskRes.TaskStatuses[0].State + err = models.UpdateJob(task) + if err != nil { + ctx.Data["error"] = err.Error() + } } ctx.Data["jobID"] = jobID ctx.HTML(200, tplCloudBrainShow) } +func CloudBrainDebug(ctx *context.Context) { + ctx.Data["PageIsCloudBrain"] = true + + var jobID = ctx.Params(":jobid") + task, err := models.GetCloudbrainByJobID(jobID) + if err != nil { + ctx.ServerError("GetCloudbrainByJobID failed", err) + return + } + + debugUrl := setting.DebugServerHost + "jpylab_" + task.JobID + "_" + task.SubTaskName + ctx.Redirect(debugUrl) +} + func downloadCode(repo *models.Repository, codePath string) error { /* if err := git.Clone(repo.RepoPath(), codePath, git.CloneRepoOptions{ diff --git a/routers/routes/routes.go b/routers/routes/routes.go index 8d722cfe2..c9fa54ca0 100755 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -895,6 +895,7 @@ func RegisterRoutes(m *macaron.Macaron) { m.Group("/cloudbrain", func() { m.Get("", reqRepoCloudBrainReader, repo.CloudBrainIndex) m.Get("/:jobid", reqRepoCloudBrainReader, repo.CloudBrainShow) + m.Get("/:jobid/debug", reqRepoCloudBrainReader, repo.CloudBrainDebug) m.Get("/create", reqRepoCloudBrainWriter, repo.CloudBrainNew) m.Post("/create", reqRepoCloudBrainWriter, bindIgnErr(auth.CreateCloudBrainForm{}), repo.CloudBrainCreate) }, context.RepoRef()) diff --git a/templates/repo/cloudbrain/index.tmpl b/templates/repo/cloudbrain/index.tmpl index d1e9ababb..474002dd5 100755 --- a/templates/repo/cloudbrain/index.tmpl +++ b/templates/repo/cloudbrain/index.tmpl @@ -54,9 +54,9 @@
-
+
- + 调试 From 15c7170ea29a0de4a477feeab83231386c00b9c5 Mon Sep 17 00:00:00 2001 From: yuyuanshifu <747342561@qq.com> Date: Sat, 21 Nov 2020 15:13:14 +0800 Subject: [PATCH 04/11] commit image --- models/cloudbrain.go | 21 ++++++++------ modules/cloudbrain/resty.go | 41 ++++++++++++++++++++++++---- modules/setting/setting.go | 2 ++ routers/repo/cloudbrain.go | 30 ++++++++++++++++++-- routers/routes/routes.go | 1 + templates/repo/cloudbrain/index.tmpl | 6 ++-- 6 files changed, 82 insertions(+), 19 deletions(-) diff --git a/models/cloudbrain.go b/models/cloudbrain.go index 32558438f..28f6c9e0a 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -1,7 +1,6 @@ package models import ( - "code.gitea.io/gitea/modules/log" "encoding/json" "errors" "fmt" @@ -26,11 +25,12 @@ const ( type Cloudbrain struct { ID int64 `xorm:"pk autoincr"` JobID string `xorm:"INDEX NOT NULL"` - JobName string + JobName string `xorm:"INDEX"` Status string `xorm:"INDEX"` UserID int64 `xorm:"INDEX"` RepoID int64 `xorm:"INDEX"` SubTaskName string `xorm:"INDEX"` + ContainerID string CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"` UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"` CanDebug bool `xorm:"-"` @@ -218,13 +218,16 @@ type ImageInfo struct { PlaceView string } +type CommitImageParams struct { + Ip string `json:"ip"` + TaskContainerId string `json:"taskContainerId"` + ImageDescription string `json:"imageDescription"` +} -func ConvertToImagesResultPayload(input map[string]ImageInfo) (ImagesResultPayload, error) { - for _,info := range input { - log.Info(info.Name) - } - var res ImagesResultPayload - return res, nil +type CommitImageResult struct { + Code string `json:"code"` + Msg string `json:"msg"` + Payload map[string]interface{} `json:"payload"` } func Cloudbrains(opts *CloudbrainsOptions) ([]*Cloudbrain, int64, error) { @@ -331,6 +334,6 @@ func UpdateJob(job *Cloudbrain) error { func updateJob(e Engine, job *Cloudbrain) error { var sess *xorm.Session sess = e.Where("job_id = ?", job.JobID) - _, err := sess.Cols("status").Update(job) + _, err := sess.Cols("status", "container_id").Update(job) return err } diff --git a/modules/cloudbrain/resty.go b/modules/cloudbrain/resty.go index 09229b254..0e10a8863 100755 --- a/modules/cloudbrain/resty.go +++ b/modules/cloudbrain/resty.go @@ -1,12 +1,11 @@ package cloudbrain import ( - "code.gitea.io/gitea/modules/log" "fmt" "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/setting" - resty "github.com/go-resty/resty/v2" + "github.com/go-resty/resty/v2" ) var ( @@ -63,8 +62,6 @@ func CreateJob(jobName string, createJobParams models.CreateJobParams) (*models. retry := 0 - log.Info("", createJobParams.Volumes) - sendjob: res, err := client.R(). SetHeader("Content-Type", "application/json"). @@ -106,7 +103,7 @@ sendjob: Get(HOST + "/rest-server/api/v1/jobs/" + jobID) if err != nil { - return nil, fmt.Errorf("resty GetJob: %s", err) + return nil, fmt.Errorf("resty GetJob: %v", err) } if getJobResult.Code == "S401" && retry < 1 { @@ -137,7 +134,7 @@ sendjob: Get(HOST + "/rest-server/api/v1/image/list/") if err != nil { - return nil, fmt.Errorf("resty GetJob: %s", err) + return nil, fmt.Errorf("resty GetImages: %v", err) } if getImagesResult.Code == "S401" && retry < 1 { @@ -152,3 +149,35 @@ sendjob: return &getImagesResult, nil } + +func CommitImage(jobID string, params models.CommitImageParams) (*models.CommitImageResult, error) { + checkSetting() + client := getRestyClient() + var result models.CommitImageResult + + retry := 0 + +sendjob: + res, err := client.R(). + SetHeader("Content-Type", "application/json"). + SetAuthToken(TOKEN). + SetBody(params). + SetResult(&result). + Post(HOST + "/rest-server/api/v1/jobs/" + jobID + "/commitImage") + + if err != nil { + return nil, fmt.Errorf("resty CommitImage: %v", err) + } + + if result.Code == "S401" && retry < 1 { + retry++ + _ = loginCloudbrain() + goto sendjob + } + + if result.Code != Success { + return &result, fmt.Errorf("CommitImage err: %s", res.String()) + } + + return &result, nil +} diff --git a/modules/setting/setting.go b/modules/setting/setting.go index 45056e262..d3ed40adb 100755 --- a/modules/setting/setting.go +++ b/modules/setting/setting.go @@ -440,6 +440,7 @@ var ( RestServerHost string JobPath string DebugServerHost string + ImageServerHost string ) // DateLang transforms standard language locale name to corresponding value in datetime plugin. @@ -1117,6 +1118,7 @@ func NewContext() { RestServerHost = sec.Key("REST_SERVER_HOST").MustString("http://192.168.202.73") JobPath = sec.Key("JOB_PATH").MustString("/datasets/minio/data/opendata/jobs/") DebugServerHost = sec.Key("DEBUG_SERVER_HOST").MustString("http://192.168.202.73") + ImageServerHost = sec.Key("IMAGE_SERVER_HOST").MustString("http://192.168.202.73") } func loadInternalToken(sec *ini.Section) string { diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index 011435376..0d3fab3cd 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -163,6 +163,7 @@ func CloudBrainShow(ctx *context.Context) { taskRes, _ := models.ConvertToTaskPod(taskRoles["task1"].(map[string]interface{})) ctx.Data["taskRes"] = taskRes task.Status = taskRes.TaskStatuses[0].State + task.ContainerID = taskRes.TaskStatuses[0].ContainerID err = models.UpdateJob(task) if err != nil { ctx.Data["error"] = err.Error() @@ -174,8 +175,6 @@ func CloudBrainShow(ctx *context.Context) { } func CloudBrainDebug(ctx *context.Context) { - ctx.Data["PageIsCloudBrain"] = true - var jobID = ctx.Params(":jobid") task, err := models.GetCloudbrainByJobID(jobID) if err != nil { @@ -187,6 +186,33 @@ func CloudBrainDebug(ctx *context.Context) { ctx.Redirect(debugUrl) } +func CloudBrainCommitImage(ctx *context.Context) { + var jobID = ctx.Params(":jobid") + var description = ctx.Query("description") + log.Info(description) + task, err := models.GetCloudbrainByJobID(jobID) + if err != nil { + ctx.ServerError("GetCloudbrainByJobID failed", err) + return + } + + jobResult, err := cloudbrain.CommitImage(jobID, models.CommitImageParams{ + Ip: setting.ImageServerHost, + TaskContainerId: task.ContainerID, + ImageDescription: description, + }) + if err != nil { + log.Error("CommitImage failed:", err.Error()) + return + } + if jobResult.Code != cloudbrain.Success { + log.Error("CommitImage(%s) failed:%s", jobID, jobResult.Msg) + return + } + + ctx.Redirect(setting.AppSubURL + ctx.Repo.RepoLink + "/cloudbrain") +} + func downloadCode(repo *models.Repository, codePath string) error { /* if err := git.Clone(repo.RepoPath(), codePath, git.CloneRepoOptions{ diff --git a/routers/routes/routes.go b/routers/routes/routes.go index c9fa54ca0..58b617abc 100755 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -896,6 +896,7 @@ func RegisterRoutes(m *macaron.Macaron) { m.Get("", reqRepoCloudBrainReader, repo.CloudBrainIndex) m.Get("/:jobid", reqRepoCloudBrainReader, repo.CloudBrainShow) m.Get("/:jobid/debug", reqRepoCloudBrainReader, repo.CloudBrainDebug) + m.Post("/:jobid/commit_image", reqRepoCloudBrainReader, repo.CloudBrainCommitImage) m.Get("/create", reqRepoCloudBrainWriter, repo.CloudBrainNew) m.Post("/create", reqRepoCloudBrainWriter, bindIgnErr(auth.CreateCloudBrainForm{}), repo.CloudBrainCreate) }, context.RepoRef()) diff --git a/templates/repo/cloudbrain/index.tmpl b/templates/repo/cloudbrain/index.tmpl index 474002dd5..2c9237d2e 100755 --- a/templates/repo/cloudbrain/index.tmpl +++ b/templates/repo/cloudbrain/index.tmpl @@ -54,9 +54,9 @@
-
+
- + 调试 @@ -68,6 +68,7 @@
+
{{end}} @@ -98,4 +99,5 @@ $( document ).ready(function() { }); }); }); + From ab71cf65a384ac9a880954f55b39dcec987587b6 Mon Sep 17 00:00:00 2001 From: yuyuanshifu <747342561@qq.com> Date: Sat, 21 Nov 2020 15:40:24 +0800 Subject: [PATCH 05/11] stop --- models/cloudbrain.go | 5 +++++ modules/cloudbrain/resty.go | 31 ++++++++++++++++++++++++++++ routers/repo/cloudbrain.go | 11 ++++++++++ routers/routes/routes.go | 1 + templates/repo/cloudbrain/index.tmpl | 10 +++++++-- 5 files changed, 56 insertions(+), 2 deletions(-) diff --git a/models/cloudbrain.go b/models/cloudbrain.go index 28f6c9e0a..39d71dd83 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -230,6 +230,11 @@ type CommitImageResult struct { Payload map[string]interface{} `json:"payload"` } +type StopJobResult struct { + Code string `json:"code"` + Msg string `json:"msg"` +} + func Cloudbrains(opts *CloudbrainsOptions) ([]*Cloudbrain, int64, error) { sess := x.NewSession() defer sess.Close() diff --git a/modules/cloudbrain/resty.go b/modules/cloudbrain/resty.go index 0e10a8863..18ffe17c6 100755 --- a/modules/cloudbrain/resty.go +++ b/modules/cloudbrain/resty.go @@ -181,3 +181,34 @@ sendjob: return &result, nil } + +func StopJob(jobID string) error { + checkSetting() + client := getRestyClient() + var result models.StopJobResult + + retry := 0 + +sendjob: + res, err := client.R(). + SetHeader("Content-Type", "application/json"). + SetAuthToken(TOKEN). + SetResult(&result). + Delete(HOST + "/rest-server/api/v1/jobs/" + jobID) + + if err != nil { + return fmt.Errorf("resty StopJob: %v", err) + } + + if result.Code == "S401" && retry < 1 { + retry++ + _ = loginCloudbrain() + goto sendjob + } + + if result.Code != Success { + return fmt.Errorf("StopJob err: %s", res.String()) + } + + return nil +} diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index 0d3fab3cd..055d2120d 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -213,6 +213,17 @@ func CloudBrainCommitImage(ctx *context.Context) { ctx.Redirect(setting.AppSubURL + ctx.Repo.RepoLink + "/cloudbrain") } +func CloudBrainStop(ctx *context.Context) { + var jobID = ctx.Params(":jobid") + err := cloudbrain.StopJob(jobID) + if err != nil { + log.Error("StopJob failed:", err.Error()) + return + } + + ctx.Redirect(setting.AppSubURL + ctx.Repo.RepoLink + "/cloudbrain") +} + func downloadCode(repo *models.Repository, codePath string) error { /* if err := git.Clone(repo.RepoPath(), codePath, git.CloneRepoOptions{ diff --git a/routers/routes/routes.go b/routers/routes/routes.go index 58b617abc..76dc05e72 100755 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -897,6 +897,7 @@ func RegisterRoutes(m *macaron.Macaron) { m.Get("/:jobid", reqRepoCloudBrainReader, repo.CloudBrainShow) m.Get("/:jobid/debug", reqRepoCloudBrainReader, repo.CloudBrainDebug) m.Post("/:jobid/commit_image", reqRepoCloudBrainReader, repo.CloudBrainCommitImage) + m.Post("/:jobid/stop", reqRepoCloudBrainReader, repo.CloudBrainStop) m.Get("/create", reqRepoCloudBrainWriter, repo.CloudBrainNew) m.Post("/create", reqRepoCloudBrainWriter, bindIgnErr(auth.CreateCloudBrainForm{}), repo.CloudBrainCreate) }, context.RepoRef()) diff --git a/templates/repo/cloudbrain/index.tmpl b/templates/repo/cloudbrain/index.tmpl index 2c9237d2e..b3a372d0f 100755 --- a/templates/repo/cloudbrain/index.tmpl +++ b/templates/repo/cloudbrain/index.tmpl @@ -63,12 +63,18 @@ - + {{end}} From fb7064ea1147042ab2d43d6bb0b9c989ae746139 Mon Sep 17 00:00:00 2001 From: yuyuanshifu <747342561@qq.com> Date: Sat, 21 Nov 2020 17:44:33 +0800 Subject: [PATCH 06/11] get to post --- templates/repo/cloudbrain/index.tmpl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/templates/repo/cloudbrain/index.tmpl b/templates/repo/cloudbrain/index.tmpl index b3a372d0f..0e54bab36 100755 --- a/templates/repo/cloudbrain/index.tmpl +++ b/templates/repo/cloudbrain/index.tmpl @@ -63,16 +63,16 @@ From 1af6e7c541e85c4b40e93e390a3cd72a5a117be5 Mon Sep 17 00:00:00 2001 From: yuyuanshifu <747342561@qq.com> Date: Sat, 21 Nov 2020 17:51:51 +0800 Subject: [PATCH 07/11] font-weight --- templates/repo/cloudbrain/index.tmpl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/repo/cloudbrain/index.tmpl b/templates/repo/cloudbrain/index.tmpl index 0e54bab36..4029340fc 100755 --- a/templates/repo/cloudbrain/index.tmpl +++ b/templates/repo/cloudbrain/index.tmpl @@ -65,14 +65,14 @@
- é•œåƒæäº¤ + é•œåƒæäº¤
From cce1ab61fbba98c73295a2475b82519ea7ce0945 Mon Sep 17 00:00:00 2001 From: yuyuanshifu <747342561@qq.com> Date: Mon, 23 Nov 2020 20:18:41 +0800 Subject: [PATCH 08/11] commit image ui --- models/cloudbrain.go | 10 ++- modules/auth/cloudbrain.go | 5 ++ modules/cloudbrain/resty.go | 8 +- options/locale/locale_zh-CN.ini | 1 + routers/repo/cloudbrain.go | 45 ++++++++---- routers/routes/routes.go | 10 ++- templates/repo/cloudbrain/index.tmpl | 105 ++++++++++++++++++++++++++- 7 files changed, 156 insertions(+), 28 deletions(-) diff --git a/models/cloudbrain.go b/models/cloudbrain.go index 39d71dd83..f586802d5 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -31,6 +31,7 @@ type Cloudbrain struct { RepoID int64 `xorm:"INDEX"` SubTaskName string `xorm:"INDEX"` ContainerID string + ContainerIp string CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"` UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"` CanDebug bool `xorm:"-"` @@ -219,9 +220,10 @@ type ImageInfo struct { } type CommitImageParams struct { - Ip string `json:"ip"` - TaskContainerId string `json:"taskContainerId"` - ImageDescription string `json:"imageDescription"` + Ip string `json:"ip"` + TaskContainerId string `json:"taskContainerId"` + ImageTag string `json:"imageTag"` + ImageDescription string `json:"imageDescription"` } type CommitImageResult struct { @@ -339,6 +341,6 @@ func UpdateJob(job *Cloudbrain) error { func updateJob(e Engine, job *Cloudbrain) error { var sess *xorm.Session sess = e.Where("job_id = ?", job.JobID) - _, err := sess.Cols("status", "container_id").Update(job) + _, err := sess.Cols("status", "container_id", "container_ip").Update(job) return err } diff --git a/modules/auth/cloudbrain.go b/modules/auth/cloudbrain.go index ca3848a65..b7b59ce63 100755 --- a/modules/auth/cloudbrain.go +++ b/modules/auth/cloudbrain.go @@ -13,6 +13,11 @@ type CreateCloudBrainForm struct { Attachment string `form:"attachment" binding:"Required"` } +type CommitImageCloudBrainForm struct { + Description string `form:"description" binding:"Required"` + Tag string `form:"tag" binding:"Required"` +} + func (f *CreateCloudBrainForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { return validate(errs, ctx.Data, f, ctx.Locale) } diff --git a/modules/cloudbrain/resty.go b/modules/cloudbrain/resty.go index 18ffe17c6..a58e31e20 100755 --- a/modules/cloudbrain/resty.go +++ b/modules/cloudbrain/resty.go @@ -150,7 +150,7 @@ sendjob: return &getImagesResult, nil } -func CommitImage(jobID string, params models.CommitImageParams) (*models.CommitImageResult, error) { +func CommitImage(jobID string, params models.CommitImageParams) error { checkSetting() client := getRestyClient() var result models.CommitImageResult @@ -166,7 +166,7 @@ sendjob: Post(HOST + "/rest-server/api/v1/jobs/" + jobID + "/commitImage") if err != nil { - return nil, fmt.Errorf("resty CommitImage: %v", err) + return fmt.Errorf("resty CommitImage: %v", err) } if result.Code == "S401" && retry < 1 { @@ -176,10 +176,10 @@ sendjob: } if result.Code != Success { - return &result, fmt.Errorf("CommitImage err: %s", res.String()) + return fmt.Errorf("CommitImage err: %s", res.String()) } - return &result, nil + return nil } func StopJob(jobID string) error { diff --git a/options/locale/locale_zh-CN.ini b/options/locale/locale_zh-CN.ini index 2e56fbb06..0398d5655 100755 --- a/options/locale/locale_zh-CN.ini +++ b/options/locale/locale_zh-CN.ini @@ -752,6 +752,7 @@ cloudbrain=云脑 cloudbrain.new=新建任务 cloudbrain.desc=云脑功能 cloudbrain.cancel=å–æ¶ˆ +cloudbrain.commit_image=æäº¤ template.items=模æ¿é€‰é¡¹ template.git_content=Gitæ•°æ®(默认分支) diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index 055d2120d..564b6c852 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -1,6 +1,7 @@ package repo import ( + "errors" "os" "os/exec" "strconv" @@ -164,6 +165,7 @@ func CloudBrainShow(ctx *context.Context) { ctx.Data["taskRes"] = taskRes task.Status = taskRes.TaskStatuses[0].State task.ContainerID = taskRes.TaskStatuses[0].ContainerID + task.ContainerIp = taskRes.TaskStatuses[0].ContainerIP err = models.UpdateJob(task) if err != nil { ctx.Data["error"] = err.Error() @@ -186,27 +188,23 @@ func CloudBrainDebug(ctx *context.Context) { ctx.Redirect(debugUrl) } -func CloudBrainCommitImage(ctx *context.Context) { +func CloudBrainCommitImage(ctx *context.Context, form auth.CommitImageCloudBrainForm) { var jobID = ctx.Params(":jobid") - var description = ctx.Query("description") - log.Info(description) task, err := models.GetCloudbrainByJobID(jobID) if err != nil { ctx.ServerError("GetCloudbrainByJobID failed", err) return } - jobResult, err := cloudbrain.CommitImage(jobID, models.CommitImageParams{ - Ip: setting.ImageServerHost, - TaskContainerId: task.ContainerID, - ImageDescription: description, + err = cloudbrain.CommitImage(jobID, models.CommitImageParams{ + Ip: task.ContainerIp, + TaskContainerId: task.ContainerID, + ImageDescription: form.Description, + ImageTag: form.Tag, }) if err != nil { log.Error("CommitImage failed:", err.Error()) - return - } - if jobResult.Code != cloudbrain.Success { - log.Error("CommitImage(%s) failed:%s", jobID, jobResult.Msg) + ctx.ServerError("CommitImage failed", err) return } @@ -215,9 +213,30 @@ func CloudBrainCommitImage(ctx *context.Context) { func CloudBrainStop(ctx *context.Context) { var jobID = ctx.Params(":jobid") - err := cloudbrain.StopJob(jobID) + log.Info(jobID) + task, err := models.GetCloudbrainByJobID(jobID) + if err != nil { + ctx.ServerError("GetCloudbrainByJobID failed", err) + return + } + + if task.Status != string(models.JobRunning) { + log.Error("the job(%s) is not running", task.JobName) + ctx.ServerError("the job is not running", errors.New("the job is not running")) + return + } + + err = cloudbrain.StopJob(jobID) + if err != nil { + log.Error("StopJob(%s) failed:%v", task.JobName, err.Error()) + ctx.ServerError("StopJob failed", err) + return + } + + task.Status = string(models.JobStopped) + err = models.UpdateJob(task) if err != nil { - log.Error("StopJob failed:", err.Error()) + ctx.ServerError("UpdateJob failed", err) return } diff --git a/routers/routes/routes.go b/routers/routes/routes.go index 76dc05e72..814af1fd9 100755 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -894,10 +894,12 @@ func RegisterRoutes(m *macaron.Macaron) { m.Group("/cloudbrain", func() { m.Get("", reqRepoCloudBrainReader, repo.CloudBrainIndex) - m.Get("/:jobid", reqRepoCloudBrainReader, repo.CloudBrainShow) - m.Get("/:jobid/debug", reqRepoCloudBrainReader, repo.CloudBrainDebug) - m.Post("/:jobid/commit_image", reqRepoCloudBrainReader, repo.CloudBrainCommitImage) - m.Post("/:jobid/stop", reqRepoCloudBrainReader, repo.CloudBrainStop) + m.Group("/:jobid", func() { + m.Get("", reqRepoCloudBrainReader, repo.CloudBrainShow) + m.Get("/debug", reqRepoCloudBrainReader, repo.CloudBrainDebug) + m.Post("/commit_image", reqRepoCloudBrainWriter, bindIgnErr(auth.CommitImageCloudBrainForm{}), repo.CloudBrainCommitImage) + m.Post("/stop", reqRepoCloudBrainWriter, repo.CloudBrainStop) + }) m.Get("/create", reqRepoCloudBrainWriter, repo.CloudBrainNew) m.Post("/create", reqRepoCloudBrainWriter, bindIgnErr(auth.CreateCloudBrainForm{}), repo.CloudBrainCreate) }, context.RepoRef()) diff --git a/templates/repo/cloudbrain/index.tmpl b/templates/repo/cloudbrain/index.tmpl index 4029340fc..a02c96270 100755 --- a/templates/repo/cloudbrain/index.tmpl +++ b/templates/repo/cloudbrain/index.tmpl @@ -63,18 +63,50 @@
-
+ + {{$.CsrfTokenHtml}} + é•œåƒæäº¤
- é•œåƒæäº¤
+ {{$.CsrfTokenHtml}} + åœæ­¢
- åœæ­¢
+ + + + + {{end}} @@ -106,4 +138,71 @@ $( document ).ready(function() { }); }); +// 获å–弹窗 +var modal = document.getElementById('imageModal'); + +// 打开弹窗的按钮对象 +var btn = document.getElementById("imageBtn"); + +// èŽ·å– å…ƒç´ ï¼Œç”¨äºŽå…³é—­å¼¹çª— +var span = document.querySelector('.close'); + +// 点击按钮打开弹窗 +btn.onclick = function() { + modal.style.display = "block"; +} + +// 点击 (x), 关闭弹窗 +span.onclick = function() { + modal.style.display = "none"; +} + +// 在用户点击其他地方时,关闭弹窗 +window.onclick = function(event) { + if (event.target == modal) { + modal.style.display = "none"; + } +} + + + + \ No newline at end of file From 0fbd1c3fb80d1f072c9cdcdc99f06047e0ba1340 Mon Sep 17 00:00:00 2001 From: yuyuanshifu <747342561@qq.com> Date: Wed, 25 Nov 2020 17:59:14 +0800 Subject: [PATCH 09/11] commit image --- models/attachment.go | 31 +++++--- routers/api/v1/repo/cloudbrain.go | 2 + routers/repo/attachment.go | 18 +++-- routers/repo/cloudbrain.go | 2 +- templates/repo/cloudbrain/index.tmpl | 102 +++++++++++++++------------ templates/repo/cloudbrain/new.tmpl | 2 +- 6 files changed, 93 insertions(+), 64 deletions(-) mode change 100644 => 100755 routers/api/v1/repo/cloudbrain.go diff --git a/models/attachment.go b/models/attachment.go index 20f94d1a1..3ba4112dc 100755 --- a/models/attachment.go +++ b/models/attachment.go @@ -44,6 +44,11 @@ type Attachment struct { CreatedUnix timeutil.TimeStamp `xorm:"created"` } +type AttachmentUsername struct { + Attachment `xorm:"extends"` + Name string +} + func (a *Attachment) AfterUpdate() { if a.DatasetID > 0 { datasetIsPublicCount, err := x.Where("dataset_id = ? AND is_private = ?", a.DatasetID, false).Count(new(Attachment)) @@ -348,16 +353,20 @@ func getUnDecompressAttachments(e Engine) ([]*Attachment, error) { return attachments, e.Where("decompress_state = ? and dataset_id != 0 and name like '%.zip'", DecompressStateInit).Find(&attachments) } -func GetAllPublicAttachments() ([]*Attachment, error) { +func GetAllPublicAttachments() ([]*AttachmentUsername, error) { return getAllPublicAttachments(x) } -func getAllPublicAttachments(e Engine) ([]*Attachment, error) { - attachments := make([]*Attachment, 0, 10) - return attachments, e.Where("is_private = false and decompress_state = ?", DecompressStateDone).Find(&attachments) +func getAllPublicAttachments(e Engine) ([]*AttachmentUsername, error) { + attachments := make([]*AttachmentUsername, 0, 10) + if err := e.Table("attachment").Join("LEFT", "`user`", "attachment.uploader_id " + + "= `user`.id").Where("decompress_state= ? and is_private= ?", DecompressStateDone, false).Find(&attachments); err != nil { + return nil, err + } + return attachments, nil } -func GetPrivateAttachments(username string) ([]*Attachment, error) { +func GetPrivateAttachments(username string) ([]*AttachmentUsername, error) { user, err := getUserByName(x, username) if err != nil { log.Error("getUserByName(%s) failed:%v", username, err) @@ -366,12 +375,16 @@ func GetPrivateAttachments(username string) ([]*Attachment, error) { return getPrivateAttachments(x, user.ID) } -func getPrivateAttachments(e Engine, userID int64) ([]*Attachment, error) { - attachments := make([]*Attachment, 0, 10) - return attachments, e.Where("uploader_id = ? and decompress_state = ?", userID, DecompressStateDone).Find(&attachments) +func getPrivateAttachments(e Engine, userID int64) ([]*AttachmentUsername, error) { + attachments := make([]*AttachmentUsername, 0, 10) + if err := e.Table("attachment").Join("LEFT", "`user`", "attachment.uploader_id " + + "= `user`.id").Where("decompress_state= ? and uploader_id= ?", DecompressStateDone, userID).Find(&attachments); err != nil { + return nil, err + } + return attachments, nil } -func GetAllUserAttachments(userID int64) ([]*Attachment, error) { +func GetAllUserAttachments(userID int64) ([]*AttachmentUsername, error) { attachsPub, err := getAllPublicAttachments(x) if err != nil { log.Error("getAllPublicAttachments failed:%v", err) diff --git a/routers/api/v1/repo/cloudbrain.go b/routers/api/v1/repo/cloudbrain.go old mode 100644 new mode 100755 index 56d41830b..cc1dc6ad8 --- a/routers/api/v1/repo/cloudbrain.go +++ b/routers/api/v1/repo/cloudbrain.go @@ -65,6 +65,8 @@ func GetCloudbrainTask(ctx *context.APIContext) { } if result.JobStatus.State != string(models.JobWaiting) { + //todo + go models.SetCloudbrainStatusByJobID(result.Config.JobID, models.CloudbrainStatus(result.JobStatus.State)) } diff --git a/routers/repo/attachment.go b/routers/repo/attachment.go index 6bb3933fa..2def9ffc4 100755 --- a/routers/repo/attachment.go +++ b/routers/repo/attachment.go @@ -635,7 +635,7 @@ func QueryAllPublicDataset(ctx *context.Context){ return } - queryDatasets(ctx, "admin", attachs) + queryDatasets(ctx, attachs) } func QueryPrivateDataset(ctx *context.Context){ @@ -650,10 +650,14 @@ func QueryPrivateDataset(ctx *context.Context){ return } - queryDatasets(ctx, username, attachs) + for _, attach := range attachs { + attach.Name = username + } + + queryDatasets(ctx, attachs) } -func queryDatasets(ctx *context.Context, username string, attachs []*models.Attachment) { +func queryDatasets(ctx *context.Context, attachs []*models.AttachmentUsername) { var datasets []CloudBrainDataset for _, attch := range attachs { has,err := storage.Attachments.HasObject(models.AttachmentRelativePath(attch.UUID)) @@ -661,15 +665,15 @@ func queryDatasets(ctx *context.Context, username string, attachs []*models.Atta continue } - datasets = append(datasets, CloudBrainDataset{string(attch.ID), - attch.Name, + datasets = append(datasets, CloudBrainDataset{strconv.FormatInt(attch.ID, 10), + attch.Attachment.Name, setting.Attachment.Minio.RealPath + setting.Attachment.Minio.Bucket + "/" + setting.Attachment.Minio.BasePath + models.AttachmentRelativePath(attch.UUID) + attch.UUID, - username, - attch.CreatedUnix.Format("2006-01-02 03:04:05")}) + attch.Name, + attch.CreatedUnix.Format("2006-01-02 03:04:05 PM")}) } data,err := json.Marshal(datasets) diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index 564b6c852..8ce578288 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -203,7 +203,7 @@ func CloudBrainCommitImage(ctx *context.Context, form auth.CommitImageCloudBrain ImageTag: form.Tag, }) if err != nil { - log.Error("CommitImage failed:", err.Error()) + log.Error("CommitImage(%s) failed:", task.JobName, err.Error()) ctx.ServerError("CommitImage failed", err) return } diff --git a/templates/repo/cloudbrain/index.tmpl b/templates/repo/cloudbrain/index.tmpl index a02c96270..fd3d4f80c 100755 --- a/templates/repo/cloudbrain/index.tmpl +++ b/templates/repo/cloudbrain/index.tmpl @@ -61,51 +61,50 @@ -
- -
- {{$.CsrfTokenHtml}} - é•œåƒæäº¤ -
-
-
-
+ {{$.CsrfTokenHtml}} - åœæ­¢ + åœæ­¢
- - - - - @@ -142,21 +141,26 @@ $( document ).ready(function() { var modal = document.getElementById('imageModal'); // 打开弹窗的按钮对象 -var btn = document.getElementById("imageBtn"); +var btns = document.getElementsByClassName("imageBtn"); // èŽ·å– å…ƒç´ ï¼Œç”¨äºŽå…³é—­å¼¹çª— -var span = document.querySelector('.close'); +var spans = document.getElementsByClassName('close'); // 点击按钮打开弹窗 -btn.onclick = function() { - modal.style.display = "block"; +for(i=0;i (x), 关闭弹窗 -span.onclick = function() { - modal.style.display = "none"; -} - +for(i=0;i \ No newline at end of file diff --git a/templates/repo/cloudbrain/new.tmpl b/templates/repo/cloudbrain/new.tmpl index 7d9e1bf12..63a377779 100755 --- a/templates/repo/cloudbrain/new.tmpl +++ b/templates/repo/cloudbrain/new.tmpl @@ -28,7 +28,7 @@ From 75f8350a628b3fb60c46e54fb3259d8de5dad357 Mon Sep 17 00:00:00 2001 From: yuyuanshifu <747342561@qq.com> Date: Fri, 27 Nov 2020 14:38:19 +0800 Subject: [PATCH 10/11] time --- models/cloudbrain.go | 8 ++++++++ modules/cloudbrain/cloudbrain.go | 5 +---- modules/setting/cloudbrain.go | 2 +- modules/setting/setting.go | 10 ++-------- routers/api/v1/repo/cloudbrain.go | 17 +++++++++++++---- routers/repo/cloudbrain.go | 4 ++-- templates/repo/cloudbrain/index.tmpl | 13 +++++-------- templates/repo/cloudbrain/new.tmpl | 2 +- templates/repo/cloudbrain/show.tmpl | 8 ++++---- 9 files changed, 37 insertions(+), 32 deletions(-) mode change 100644 => 100755 modules/setting/cloudbrain.go mode change 100644 => 100755 templates/repo/cloudbrain/show.tmpl diff --git a/models/cloudbrain.go b/models/cloudbrain.go index f586802d5..8cf2132f9 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -125,6 +125,8 @@ type TaskPod struct { ExitCode int `json:"exitCode"` ExitDiagnostics string `json:"exitDiagnostics"` RetriedCount int `json:"retriedCount"` + StartTime string + FinishedTime string } `json:"taskStatuses"` } @@ -132,6 +134,8 @@ func ConvertToTaskPod(input map[string]interface{}) (TaskPod, error) { data, _ := json.Marshal(input) var taskPod TaskPod err := json.Unmarshal(data, &taskPod) + taskPod.TaskStatuses[0].StartTime = time.Unix(taskPod.TaskStatuses[0].StartAt.Unix() + 8*3600, 0).UTC().Format("2006-01-02 15:04:05") + taskPod.TaskStatuses[0].FinishedTime = time.Unix(taskPod.TaskStatuses[0].FinishedAt.Unix() + 8*3600, 0).UTC().Format("2006-01-02 15:04:05") return taskPod, err } @@ -156,6 +160,8 @@ type JobResultPayload struct { AppExitDiagnostics string `json:"appExitDiagnostics"` AppExitType interface{} `json:"appExitType"` VirtualCluster string `json:"virtualCluster"` + StartTime string + EndTime string } `json:"jobStatus"` TaskRoles map[string]interface{} `json:"taskRoles"` Resource struct { @@ -194,6 +200,8 @@ func ConvertToJobResultPayload(input map[string]interface{}) (JobResultPayload, data, _ := json.Marshal(input) var jobResultPayload JobResultPayload err := json.Unmarshal(data, &jobResultPayload) + jobResultPayload.JobStatus.StartTime = time.Unix(jobResultPayload.JobStatus.CreatedTime/1000, 0).Format("2006-01-02 15:04:05") + jobResultPayload.JobStatus.EndTime = time.Unix(jobResultPayload.JobStatus.CompletedTime/1000, 0).Format("2006-01-02 15:04:05") return jobResultPayload, err } diff --git a/modules/cloudbrain/cloudbrain.go b/modules/cloudbrain/cloudbrain.go index 494e2799f..52057f0b8 100755 --- a/modules/cloudbrain/cloudbrain.go +++ b/modules/cloudbrain/cloudbrain.go @@ -17,10 +17,7 @@ const ( SubTaskName = "task1" - DebugGPUType = "debug" - Success = "S000" - ) func GenerateTask(ctx *context.Context, jobName, image, command, uuid, codePath, modelPath string) error { @@ -32,7 +29,7 @@ func GenerateTask(ctx *context.Context, jobName, image, command, uuid, codePath, jobResult, err := CreateJob(jobName, models.CreateJobParams{ JobName: jobName, RetryCount: 1, - GpuType: DebugGPUType, + GpuType: setting.JobType, Image: image, TaskRoles: []models.TaskRole{ { diff --git a/modules/setting/cloudbrain.go b/modules/setting/cloudbrain.go old mode 100644 new mode 100755 index 71d59c697..c0ab3b275 --- a/modules/setting/cloudbrain.go +++ b/modules/setting/cloudbrain.go @@ -14,6 +14,6 @@ func GetCloudbrainConfig() CloudbrainLoginConfig { cloudbrainSec := Cfg.Section("cloudbrain") Cloudbrain.Username = cloudbrainSec.Key("USERNAME").MustString("") Cloudbrain.Password = cloudbrainSec.Key("PASSWORD").MustString("") - Cloudbrain.Host = cloudbrainSec.Key("HOST").MustString("") + Cloudbrain.Host = cloudbrainSec.Key("REST_SERVER_HOST").MustString("") return Cloudbrain } diff --git a/modules/setting/setting.go b/modules/setting/setting.go index d3ed40adb..3fa6403a1 100755 --- a/modules/setting/setting.go +++ b/modules/setting/setting.go @@ -434,13 +434,10 @@ var ( //cloudbrain config CBAuthUser string CBAuthPassword string - ClientID string - ClientSecret string - UserCeterHost string RestServerHost string JobPath string + JobType string DebugServerHost string - ImageServerHost string ) // DateLang transforms standard language locale name to corresponding value in datetime plugin. @@ -1112,13 +1109,10 @@ func NewContext() { sec = Cfg.Section("cloudbrain") CBAuthUser = sec.Key("USER").MustString("cW4cMtH24eoWPE7X") CBAuthPassword = sec.Key("PWD").MustString("4BPmgvK2hb2Eywwyp4YZRY4B7yQf4DAC") - ClientID = sec.Key("CLIENT_ID").MustString("3Z377wcplxeE2qpycpjv") - ClientSecret = sec.Key("CLIENT_SECRET").MustString("J5ykfVl2kcxW0H9cawSL") - UserCeterHost = sec.Key("USER_CENTER_HOST").MustString("http://192.168.202.73:31441") RestServerHost = sec.Key("REST_SERVER_HOST").MustString("http://192.168.202.73") JobPath = sec.Key("JOB_PATH").MustString("/datasets/minio/data/opendata/jobs/") DebugServerHost = sec.Key("DEBUG_SERVER_HOST").MustString("http://192.168.202.73") - ImageServerHost = sec.Key("IMAGE_SERVER_HOST").MustString("http://192.168.202.73") + JobType = sec.Key("JOB_TYPE").MustString("debug_openi") } func loadInternalToken(sec *ini.Section) string { diff --git a/routers/api/v1/repo/cloudbrain.go b/routers/api/v1/repo/cloudbrain.go index cc1dc6ad8..f4364f1e4 100755 --- a/routers/api/v1/repo/cloudbrain.go +++ b/routers/api/v1/repo/cloudbrain.go @@ -6,6 +6,7 @@ package repo import ( + "code.gitea.io/gitea/modules/log" "net/http" "time" @@ -48,7 +49,7 @@ func GetCloudbrainTask(ctx *context.APIContext) { jobID := ctx.Params(":jobid") repoID := ctx.Repo.Repository.ID - _, err = models.GetRepoCloudBrainByJobID(repoID, jobID) + job, err := models.GetRepoCloudBrainByJobID(repoID, jobID) if err != nil { ctx.NotFound(err) return @@ -64,10 +65,18 @@ func GetCloudbrainTask(ctx *context.APIContext) { return } - if result.JobStatus.State != string(models.JobWaiting) { - //todo + taskRoles := result.TaskRoles + taskRes, _ := models.ConvertToTaskPod(taskRoles[cloudbrain.SubTaskName].(map[string]interface{})) + + job.ContainerIp = taskRes.TaskStatuses[0].ContainerIP + job.ContainerID = taskRes.TaskStatuses[0].ContainerID + job.Status = taskRes.TaskStatuses[0].State - go models.SetCloudbrainStatusByJobID(result.Config.JobID, models.CloudbrainStatus(result.JobStatus.State)) + if result.JobStatus.State != string(models.JobWaiting) { + err = models.UpdateJob(job) + if err != nil { + log.Error("UpdateJob failed:", err) + } } ctx.JSON(http.StatusOK, map[string]interface{}{ diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index 8ce578288..81554b9fc 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -150,7 +150,6 @@ func CloudBrainShow(ctx *context.Context) { if err != nil { ctx.Data["error"] = err.Error() } - ctx.Data["task"] = task result, err := cloudbrain.GetJob(jobID) if err != nil { @@ -161,7 +160,7 @@ func CloudBrainShow(ctx *context.Context) { jobRes, _ := models.ConvertToJobResultPayload(result.Payload) ctx.Data["result"] = jobRes taskRoles := jobRes.TaskRoles - taskRes, _ := models.ConvertToTaskPod(taskRoles["task1"].(map[string]interface{})) + taskRes, _ := models.ConvertToTaskPod(taskRoles[cloudbrain.SubTaskName].(map[string]interface{})) ctx.Data["taskRes"] = taskRes task.Status = taskRes.TaskStatuses[0].State task.ContainerID = taskRes.TaskStatuses[0].ContainerID @@ -172,6 +171,7 @@ func CloudBrainShow(ctx *context.Context) { } } + ctx.Data["task"] = task ctx.Data["jobID"] = jobID ctx.HTML(200, tplCloudBrainShow) } diff --git a/templates/repo/cloudbrain/index.tmpl b/templates/repo/cloudbrain/index.tmpl index fd3d4f80c..6a4ba1f50 100755 --- a/templates/repo/cloudbrain/index.tmpl +++ b/templates/repo/cloudbrain/index.tmpl @@ -83,14 +83,14 @@
- +
-
+
-
- +
+
@@ -99,12 +99,9 @@ -
- - @@ -122,7 +119,7 @@ $( document ).ready(function() { $( ".job-status" ).each(( index, job ) => { const jobID = job.dataset.jobid; const repoPath = job.dataset.repopath; - if (job.textContent.trim() != 'WAITING') { + if (job.textContent.trim() == 'STOPPED') { return } diff --git a/templates/repo/cloudbrain/new.tmpl b/templates/repo/cloudbrain/new.tmpl index 63a377779..f2b5ed6f8 100755 --- a/templates/repo/cloudbrain/new.tmpl +++ b/templates/repo/cloudbrain/new.tmpl @@ -25,7 +25,7 @@
- +