From c49a817fc92be11453b50c76480eaae551b72b4b Mon Sep 17 00:00:00 2001 From: zhoupzh Date: Thu, 23 Dec 2021 10:22:14 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=BA=91=E8=84=911=E5=81=9C=E6=AD=A2?= =?UTF-8?q?=E6=97=B6=E5=86=8D=E6=AC=A1=E8=B0=83=E8=AF=95=E5=92=8C=E5=81=9C?= =?UTF-8?q?=E6=AD=A2=E6=8C=89=E9=92=AE=E7=AB=8B=E5=8D=B3=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/repo/debugjob/index.tmpl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/templates/repo/debugjob/index.tmpl b/templates/repo/debugjob/index.tmpl index 19c2e6a94..7aa4bfa25 100755 --- a/templates/repo/debugjob/index.tmpl +++ b/templates/repo/debugjob/index.tmpl @@ -568,9 +568,10 @@ $('#' + JobID+'-icon').removeClass().addClass(res.status) $('#' + JobID+ '-text').text(res.status) if(res.status==="STOPPED"){ - $('#model-debug-'+JobID).removeClass('blue').addClass('disabled').text("再次调试").css("margin","0") + $('#model-debug-'+JobID).removeClass('disabled').addClass('blue').text("再次调试").css("margin","0") $('#model-image-'+JobID).removeClass('blue').addClass('disabled') $('#stop-model-debug-'+JobID).removeClass('blue').addClass('disabled') + $('#model-delete-'+JobID).removeClass('disabled').addClass('blue') } else{ $('#model-debug-'+JobID).removeClass('blue').addClass('disabled') From 7992346b2dc262af41335db7c3299b3bb2f02b85 Mon Sep 17 00:00:00 2001 From: lewis <747342561@qq.com> Date: Thu, 23 Dec 2021 11:17:51 +0800 Subject: [PATCH 2/5] review --- models/cloudbrain.go | 5 ++++- modules/cloudbrain/cloudbrain.go | 1 + modules/modelarts/modelarts.go | 8 ++------ routers/repo/cloudbrain.go | 4 ++-- routers/repo/modelarts.go | 16 +++++----------- 5 files changed, 14 insertions(+), 20 deletions(-) diff --git a/models/cloudbrain.go b/models/cloudbrain.go index ac69a8e37..e64fc8383 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -19,6 +19,9 @@ type JobType string type ModelArtsJobStatus string const ( + NPUResource = "NPU" + GPUResource = "CPU/GPU" + JobWaiting CloudbrainStatus = "WAITING" JobStopped CloudbrainStatus = "STOPPED" JobSucceeded CloudbrainStatus = "SUCCEEDED" @@ -105,7 +108,7 @@ type Cloudbrain struct { IsLatestVersion string //是否是最新版本,1是,0否 CommitID string //提交的仓库代码id PreVersionName string //父版本名称 - ComputeResource string `xorm:"-"` //计算资源,例如npu + ComputeResource string //计算资源,例如npu EngineID int64 //引擎id TrainUrl string //输出的obs路径 diff --git a/modules/cloudbrain/cloudbrain.go b/modules/cloudbrain/cloudbrain.go index aa5d8467c..b8aa2e143 100755 --- a/modules/cloudbrain/cloudbrain.go +++ b/modules/cloudbrain/cloudbrain.go @@ -212,6 +212,7 @@ func GenerateTask(ctx *context.Context, jobName, image, command, uuid, codePath, Image: image, GpuQueue: gpuQueue, ResourceSpecId: resourceSpecId, + ComputeResource: models.GPUResource, }) if err != nil { diff --git a/modules/modelarts/modelarts.go b/modules/modelarts/modelarts.go index 3dddbc10c..6a792d42d 100755 --- a/modules/modelarts/modelarts.go +++ b/modules/modelarts/modelarts.go @@ -48,10 +48,6 @@ const ( PerPage = 10 IsLatestVersion = "1" NotLatestVersion = "0" - // ComputeResource = "NPU" - NPUResource = "NPU" - GPUResource = "CPU/GPU" - AllResource = "all" DebugType = -1 VersionCount = 1 @@ -277,7 +273,7 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (err error DatasetName: attach.Name, CommitID: req.CommitID, IsLatestVersion: req.IsLatestVersion, - //ComputeResource: NPUResource, + ComputeResource: models.NPUResource, EngineID: req.EngineID, TrainUrl: req.TrainUrl, BranchName: req.BranchName, @@ -360,7 +356,7 @@ func GenerateTrainJobVersion(ctx *context.Context, req *GenerateTrainJobReq, job CommitID: req.CommitID, IsLatestVersion: req.IsLatestVersion, PreVersionName: req.PreVersionName, - ComputeResource: NPUResource, + ComputeResource: models.GPUResource, EngineID: req.EngineID, TrainUrl: req.TrainUrl, BranchName: req.BranchName, diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index 5503c7b35..3c60396b6 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -245,7 +245,7 @@ func CloudBrainCreate(ctx *context.Context, form auth.CreateCloudBrainForm) { ctx.RenderWithErr(err.Error(), tplCloudBrainNew, &form) return } - ctx.Redirect(setting.AppSubURL + ctx.Repo.RepoLink + "/debugjob") + ctx.Redirect(setting.AppSubURL + ctx.Repo.RepoLink + "/debugjob?debugListType=all") } func CloudBrainRestart(ctx *context.Context) { @@ -568,7 +568,7 @@ func CloudBrainDel(ctx *context.Context) { } deleteJobStorage(task.JobName, models.TypeCloudBrainOne) - ctx.Redirect(setting.AppSubURL + ctx.Repo.RepoLink + "/debugjob") + ctx.Redirect(setting.AppSubURL + ctx.Repo.RepoLink + "/debugjob?debugListType=all") } func CloudBrainShowModels(ctx *context.Context) { diff --git a/routers/repo/modelarts.go b/routers/repo/modelarts.go index cb51c2b36..f916fc157 100755 --- a/routers/repo/modelarts.go +++ b/routers/repo/modelarts.go @@ -51,11 +51,11 @@ func DebugJobIndex(ctx *context.Context) { } debugType := modelarts.DebugType jobType := string(models.JobTypeDebug) - if debugListType == modelarts.GPUResource { + if debugListType == models.GPUResource { debugType = models.TypeCloudBrainOne jobType = "" } - if debugListType == modelarts.NPUResource { + if debugListType == models.NPUResource { debugType = models.TypeCloudBrainTwo } @@ -76,16 +76,10 @@ func DebugJobIndex(ctx *context.Context) { for i, task := range ciTasks { ciTasks[i].CanDebug = cloudbrain.CanCreateOrDebugJob(ctx) ciTasks[i].CanDel = cloudbrain.CanDeleteJob(ctx, &task.Cloudbrain) - - if task.Cloudbrain.Type == models.TypeCloudBrainOne { - ciTasks[i].Cloudbrain.ComputeResource = modelarts.GPUResource - } else if task.Cloudbrain.Type == models.TypeCloudBrainTwo { - ciTasks[i].Cloudbrain.ComputeResource = modelarts.NPUResource - } + ciTasks[i].Cloudbrain.ComputeResource = task.ComputeResource } pager := context.NewPagination(int(count), setting.UI.IssuePagingNum, page, 5) - //pager.SetDefaultParams(ctx) pager.AddParam(ctx, "debugListType", "ListType") ctx.Data["Page"] = pager ctx.Data["PageIsCloudBrain"] = true @@ -345,7 +339,7 @@ func NotebookDel(ctx *context.Context) { return } - ctx.Redirect(setting.AppSubURL + ctx.Repo.RepoLink + "/debugjob") + ctx.Redirect(setting.AppSubURL + ctx.Repo.RepoLink + "/debugjob?debugListType=all") } func TrainJobIndex(ctx *context.Context) { @@ -375,7 +369,7 @@ func TrainJobIndex(ctx *context.Context) { for i, task := range tasks { tasks[i].CanDel = cloudbrain.CanDeleteJob(ctx, &task.Cloudbrain) tasks[i].CanModify = cloudbrain.CanModifyJob(ctx, &task.Cloudbrain) - tasks[i].ComputeResource = modelarts.NPUResource + tasks[i].ComputeResource = models.NPUResource } pager := context.NewPagination(int(count), setting.UI.IssuePagingNum, page, 5) From 74508e08209590f4d596b19068a1b2ee27030bb2 Mon Sep 17 00:00:00 2001 From: liuzx Date: Thu, 23 Dec 2021 14:51:57 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E6=8C=89=E7=85=A7=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E8=AE=BF=E9=97=AE=E9=87=8F=E7=BB=9F=E8=AE=A1=E4=BB=93=E5=BA=93?= =?UTF-8?q?=E8=AE=BF=E9=97=AE=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/repository/elk_pagedata.go | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/modules/repository/elk_pagedata.go b/modules/repository/elk_pagedata.go index 1454f0364..ecdbff078 100644 --- a/modules/repository/elk_pagedata.go +++ b/modules/repository/elk_pagedata.go @@ -21,7 +21,8 @@ type Fields struct { Format string `json:"format"` } type MatchPhrase struct { - Message string `json:"message"` + Message string `json:"message,omitempty"` + TagName string `json:"tagName.keyword,omitempty"` } type Should struct { MatchPhrase MatchPhrase `json:"match_phrase"` @@ -144,7 +145,7 @@ func ProjectViewInit(User string, Project string, Gte string, Lte string) (proje inputStruct.Batch[0].Request.Params.Body.Fields = make([]Fields, 1) inputStruct.Batch[0].Request.Params.Body.Fields[0].Field = setting.TimeField inputStruct.Batch[0].Request.Params.Body.Fields[0].Format = setting.ElkTimeFormat - inputStruct.Batch[0].Request.Params.Body.Query.BoolIn.Filter = make([]Filter, 3) + inputStruct.Batch[0].Request.Params.Body.Query.BoolIn.Filter = make([]Filter, 4) //限定查询时间 var timeRange Range timeRange.Timestamptest.Gte = Gte @@ -159,6 +160,24 @@ func ProjectViewInit(User string, Project string, Gte string, Lte string) (proje var projectName FilterMatchPhrase projectName.ProjectName = Project inputStruct.Batch[0].Request.Params.Body.Query.BoolIn.Filter[2].FilterMatchPhrase = &projectName + //限定页面 + var bool Bool + bool.Should = make([]Should, 14) + bool.Should[0].MatchPhrase.TagName = "%{[request][3]}" + bool.Should[1].MatchPhrase.TagName = "datasets?type=0" + bool.Should[2].MatchPhrase.TagName = "datasets?type=1" + bool.Should[3].MatchPhrase.TagName = "issues" + bool.Should[4].MatchPhrase.TagName = "labels" + bool.Should[5].MatchPhrase.TagName = "pulls" + bool.Should[6].MatchPhrase.TagName = "wiki" + bool.Should[7].MatchPhrase.TagName = "activity" + bool.Should[8].MatchPhrase.TagName = "cloudbrain" + bool.Should[9].MatchPhrase.TagName = "modelarts" + bool.Should[10].MatchPhrase.TagName = "blockchain" + bool.Should[11].MatchPhrase.TagName = "watchers" + bool.Should[12].MatchPhrase.TagName = "stars" + bool.Should[13].MatchPhrase.TagName = "forks" + inputStruct.Batch[0].Request.Params.Body.Query.BoolIn.Filter[3].Bool = &bool return inputStruct } From 3407f0b2bc74abbcfce7939a1b89e2c51fc5dc4f Mon Sep 17 00:00:00 2001 From: liuzx Date: Thu, 23 Dec 2021 15:24:33 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E8=AE=AD=E7=BB=83=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E8=BF=87=E6=BB=A4=E6=95=B0=E6=8D=AE=E9=9B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/attachment.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/attachment.go b/models/attachment.go index d217a61a4..2b3c1fd65 100755 --- a/models/attachment.go +++ b/models/attachment.go @@ -429,7 +429,7 @@ func GetAllUserAttachments(userID int64) ([]*AttachmentUsername, error) { func getModelArtsUserAttachments(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("attachment.type = ? and (uploader_id= ? or is_private = ?)", TypeCloudBrainTwo, userID, false).Find(&attachments); err != nil { + "= `user`.id").Where("attachment.type = ? and (uploader_id= ? or is_private = ?) and attachment.decompress_state = ?", TypeCloudBrainTwo, userID, false, DecompressStateDone).Find(&attachments); err != nil { return nil, err } return attachments, nil From f8b07c88139bc8d8ad0e5bd22fad22e3ccc65b70 Mon Sep 17 00:00:00 2001 From: lewis <747342561@qq.com> Date: Thu, 23 Dec 2021 15:30:47 +0800 Subject: [PATCH 5/5] compute-resource --- modules/modelarts/modelarts.go | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/modules/modelarts/modelarts.go b/modules/modelarts/modelarts.go index 6a792d42d..06eac1665 100755 --- a/modules/modelarts/modelarts.go +++ b/modules/modelarts/modelarts.go @@ -48,8 +48,8 @@ const ( PerPage = 10 IsLatestVersion = "1" NotLatestVersion = "0" - DebugType = -1 - VersionCount = 1 + DebugType = -1 + VersionCount = 1 SortByCreateTime = "create_time" ConfigTypeCustom = "custom" @@ -211,14 +211,15 @@ func GenerateTask(ctx *context.Context, jobName, uuid, description, flavor strin } err = models.CreateCloudbrain(&models.Cloudbrain{ - Status: string(models.JobWaiting), - UserID: ctx.User.ID, - RepoID: ctx.Repo.Repository.ID, - JobID: jobResult.ID, - JobName: jobName, - JobType: string(models.JobTypeDebug), - Type: models.TypeCloudBrainTwo, - Uuid: uuid, + Status: string(models.JobWaiting), + UserID: ctx.User.ID, + RepoID: ctx.Repo.Repository.ID, + JobID: jobResult.ID, + JobName: jobName, + JobType: string(models.JobTypeDebug), + Type: models.TypeCloudBrainTwo, + Uuid: uuid, + ComputeResource: models.NPUResource, }) if err != nil {