From c27c6c33dd2937873dc8897d6be1c0960188aa05 Mon Sep 17 00:00:00 2001 From: zouap Date: Wed, 30 Nov 2022 16:43:04 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=97=B6=EF=BC=8C=E5=A6=82=E6=9E=9C=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=EF=BC=8C=E5=88=99=E4=B8=8D=E6=8A=A5=E9=94=99=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- routers/repo/modelarts.go | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/routers/repo/modelarts.go b/routers/repo/modelarts.go index b992734e4..eb787f99e 100755 --- a/routers/repo/modelarts.go +++ b/routers/repo/modelarts.go @@ -240,9 +240,9 @@ func Notebook2Create(ctx *context.Context, form auth.CreateModelArtsNotebookForm } if setting.ModelartsCD.Enabled { - _, err = modelarts_cd.GenerateNotebook(ctx, displayJobName, jobName, uuid, description, imageId, spec, "",modelarts.AutoStopDurationMs) + _, err = modelarts_cd.GenerateNotebook(ctx, displayJobName, jobName, uuid, description, imageId, spec, "", modelarts.AutoStopDurationMs) } else { - _, err = modelarts.GenerateNotebook2(ctx, displayJobName, jobName, uuid, description, imageId, spec, "",modelarts.AutoStopDurationMs) + _, err = modelarts.GenerateNotebook2(ctx, displayJobName, jobName, uuid, description, imageId, spec, "", modelarts.AutoStopDurationMs) } if err != nil { @@ -388,33 +388,31 @@ func NotebookDebug2(ctx *context.Context) { ctx.RenderWithErr(err.Error(), tplModelArtsNotebookIndex, nil) return } - if task.BootFile!=""{ - ctx.Redirect(getFileUrl(result.Url,task.BootFile) + "?token="+ result.Token) - }else{ + if task.BootFile != "" { + ctx.Redirect(getFileUrl(result.Url, task.BootFile) + "?token=" + result.Token) + } else { ctx.Redirect(result.Url + "?token=" + result.Token) } - } -func getFileUrl(url string,filename string) string{ - middle:="" - if url[len(url)-3:]=="lab" || url[len(url)-4:]=="lab/" { +func getFileUrl(url string, filename string) string { + middle := "" + if url[len(url)-3:] == "lab" || url[len(url)-4:] == "lab/" { if url[len(url)-1] == '/' { - middle="tree/" + middle = "tree/" } else { - middle= "/tree/" + middle = "/tree/" } - }else{ + } else { if url[len(url)-1] == '/' { middle = "lab/tree/" } else { - middle= "/lab/tree/" + middle = "/lab/tree/" } } - - return url+middle+path.Base(filename) + return url + middle + path.Base(filename) } func NotebookRestart(ctx *context.Context) { @@ -446,7 +444,7 @@ func NotebookRestart(ctx *context.Context) { } else { if count >= 1 { log.Error("the user already has running or waiting task", ctx.Data["MsgID"]) - resultCode="2" + resultCode = "2" errorMsg = ctx.Tr("repo.cloudbrain.morethanonejob") break } @@ -2748,7 +2746,7 @@ func TrainJobDownloadLogFile(ctx *context.Context) { task, err := models.GetCloudbrainByJobIDAndVersionName(jobID, versionName) if err != nil { log.Error("GetCloudbrainByJobIDAndVersionName(%s) failed:%v", task.JobName, err.Error(), ctx.Data["msgID"]) - ctx.ServerError("GetCloudbrainByJobIDAndVersionName", err) + //ctx.ServerError("GetCloudbrainByJobIDAndVersionName", err) return } @@ -2756,14 +2754,14 @@ func TrainJobDownloadLogFile(ctx *context.Context) { key, err := storage.GetObsLogFileName(prefix) if err != nil { log.Error("GetObsLogFileName(%s) failed:%v", jobID, err.Error(), ctx.Data["msgID"]) - ctx.ServerError("GetObsLogFileName", err) + //ctx.ServerError("GetObsLogFileName", err) return } url, err := storage.GetObsCreateSignedUrlByBucketAndKey(setting.Bucket, key) if err != nil { log.Error("GetObsCreateSignedUrlByBucketAndKey failed: %v", err.Error(), ctx.Data["msgID"]) - ctx.ServerError("GetObsCreateSignedUrlByBucketAndKey", err) + //ctx.ServerError("GetObsCreateSignedUrlByBucketAndKey", err) return } ctx.Resp.Header().Set("Cache-Control", "max-age=0") From 488291037ba60c32555ec1c2669b82611221d270 Mon Sep 17 00:00:00 2001 From: zouap Date: Wed, 30 Nov 2022 17:08:12 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9Bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- routers/api/v1/repo/cloudbrain.go | 56 +++++++++++++++++-------------- routers/repo/modelarts.go | 6 ++-- 2 files changed, 34 insertions(+), 28 deletions(-) diff --git a/routers/api/v1/repo/cloudbrain.go b/routers/api/v1/repo/cloudbrain.go index f1b2751f8..cd8340c41 100755 --- a/routers/api/v1/repo/cloudbrain.go +++ b/routers/api/v1/repo/cloudbrain.go @@ -11,6 +11,7 @@ import ( "io" "net/http" "os" + "path" "sort" "strconv" "strings" @@ -117,32 +118,31 @@ func GetFileNoteBookInfo(ctx *context.APIContext) { return } waitCountGPU := (*queuesMap)[specGpuQueueCode] - if !setting.ModelartsCD.Enabled{ + if !setting.ModelartsCD.Enabled { ctx.JSON(http.StatusOK, map[string]interface{}{ - "code": 0, - "projectName":setting.FileNoteBook.ProjectName, - "specCpu": specCPU, - "specGpu": specGpu, - "specNpu": specNPU, - "waitCountGpu": waitCountGPU, - "waitCountNpu": waitCountNpu, - "imageCpuDescription": setting.FileNoteBook.ImageCPUDescription, - "imageGpuDescription": setting.FileNoteBook.ImageGPUDescription, - "imageNpuDescription": setting.FileNoteBook.ImageNPUDescription, - + "code": 0, + "projectName": setting.FileNoteBook.ProjectName, + "specCpu": specCPU, + "specGpu": specGpu, + "specNpu": specNPU, + "waitCountGpu": waitCountGPU, + "waitCountNpu": waitCountNpu, + "imageCpuDescription": setting.FileNoteBook.ImageCPUDescription, + "imageGpuDescription": setting.FileNoteBook.ImageGPUDescription, + "imageNpuDescription": setting.FileNoteBook.ImageNPUDescription, }) - } else{ + } else { ctx.JSON(http.StatusOK, map[string]interface{}{ - "code": 0, - "projectName":setting.FileNoteBook.ProjectName, - "specCpu": specCPU, - "specGpu": specGpu, - "specNpu": specNPUCD, - "waitCountGpu": waitCountGPU, - "waitCountNpu": waitCountNpu, - "imageCpuDescription": setting.FileNoteBook.ImageCPUDescription, - "imageGpuDescription": setting.FileNoteBook.ImageGPUDescription, - "imageNpuDescription": setting.FileNoteBook.ImageNPUCDDescription, + "code": 0, + "projectName": setting.FileNoteBook.ProjectName, + "specCpu": specCPU, + "specGpu": specGpu, + "specNpu": specNPUCD, + "waitCountGpu": waitCountGPU, + "waitCountNpu": waitCountNpu, + "imageCpuDescription": setting.FileNoteBook.ImageCPUDescription, + "imageGpuDescription": setting.FileNoteBook.ImageGPUDescription, + "imageNpuDescription": setting.FileNoteBook.ImageNPUCDDescription, }) } @@ -211,7 +211,7 @@ func GetCloudbrainTask(ctx *context.APIContext) { ID := ctx.Params(":id") - job,err := cloudbrain.GetCloudBrainByIdOrJobId(ID) + job, err := cloudbrain.GetCloudBrainByIdOrJobId(ID) if err != nil { ctx.NotFound(err) @@ -557,6 +557,12 @@ func ModelSafetyGetLog(ctx *context.APIContext) { }) return } + prefix := strings.TrimPrefix(path.Join(setting.TrainJobModelPath, job.JobName, modelarts.LogPath, job.VersionName), "/") + "/job" + _, err = storage.GetObsLogFileName(prefix) + canLogDownload := isCanDownloadLog(ctx, job) + if err != nil { + canLogDownload = false + } ctx.Data["log_file_name"] = resultLogFile.LogFileList[0] ctx.JSON(http.StatusOK, map[string]interface{}{ "JobID": job.JobID, @@ -565,7 +571,7 @@ func ModelSafetyGetLog(ctx *context.APIContext) { "EndLine": result.EndLine, "Content": result.Content, "Lines": result.Lines, - "CanLogDownload": isCanDownloadLog(ctx, job), + "CanLogDownload": canLogDownload, "StartTime": job.StartTime, }) } diff --git a/routers/repo/modelarts.go b/routers/repo/modelarts.go index eb787f99e..01d2e2fa4 100755 --- a/routers/repo/modelarts.go +++ b/routers/repo/modelarts.go @@ -2746,7 +2746,7 @@ func TrainJobDownloadLogFile(ctx *context.Context) { task, err := models.GetCloudbrainByJobIDAndVersionName(jobID, versionName) if err != nil { log.Error("GetCloudbrainByJobIDAndVersionName(%s) failed:%v", task.JobName, err.Error(), ctx.Data["msgID"]) - //ctx.ServerError("GetCloudbrainByJobIDAndVersionName", err) + ctx.ServerError("GetCloudbrainByJobIDAndVersionName", err) return } @@ -2754,14 +2754,14 @@ func TrainJobDownloadLogFile(ctx *context.Context) { key, err := storage.GetObsLogFileName(prefix) if err != nil { log.Error("GetObsLogFileName(%s) failed:%v", jobID, err.Error(), ctx.Data["msgID"]) - //ctx.ServerError("GetObsLogFileName", err) + ctx.ServerError("GetObsLogFileName", err) return } url, err := storage.GetObsCreateSignedUrlByBucketAndKey(setting.Bucket, key) if err != nil { log.Error("GetObsCreateSignedUrlByBucketAndKey failed: %v", err.Error(), ctx.Data["msgID"]) - //ctx.ServerError("GetObsCreateSignedUrlByBucketAndKey", err) + ctx.ServerError("GetObsCreateSignedUrlByBucketAndKey", err) return } ctx.Resp.Header().Set("Cache-Control", "max-age=0") From f77d583e1a8f9a09f52a1361344749e2fdbc1489 Mon Sep 17 00:00:00 2001 From: chenshihai Date: Wed, 30 Nov 2022 17:43:03 +0800 Subject: [PATCH 3/3] home page --- templates/custom/home/home_user_experience.tmpl | 1 + 1 file changed, 1 insertion(+) diff --git a/templates/custom/home/home_user_experience.tmpl b/templates/custom/home/home_user_experience.tmpl index edee8993d..4bae1fd9d 100644 --- a/templates/custom/home/home_user_experience.tmpl +++ b/templates/custom/home/home_user_experience.tmpl @@ -109,6 +109,7 @@ -webkit-box-orient: vertical; -webkit-line-clamp: 2; max-height: 50px; + height: 40px; white-space: break-spaces; }