From d836678d834a482f07648c1120b76b79e27261fa Mon Sep 17 00:00:00 2001 From: lewis <747342561@qq.com> Date: Mon, 1 Nov 2021 17:46:20 +0800 Subject: [PATCH 1/3] fix-659 --- routers/repo/modelarts.go | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/routers/repo/modelarts.go b/routers/repo/modelarts.go index 86287e0b6..b37af704d 100755 --- a/routers/repo/modelarts.go +++ b/routers/repo/modelarts.go @@ -528,6 +528,15 @@ func TrainJobIndex(ctx *context.Context) { } func TrainJobNew(ctx *context.Context) { + err := trainJobNewDataPrepare(ctx) + if err != nil { + ctx.ServerError("get new train-job info failed", err) + return + } + ctx.HTML(200, tplModelArtsTrainJobNew) +} + +func trainJobNewDataPrepare(ctx *context.Context) error { ctx.Data["PageIsCloudBrain"] = true //can, err := canUserCreateTrainJob(ctx.User.ID) @@ -549,35 +558,35 @@ func TrainJobNew(ctx *context.Context) { attachs, err := models.GetModelArtsUserAttachments(ctx.User.ID) if err != nil { ctx.ServerError("GetAllUserAttachments failed:", err) - return + return err } ctx.Data["attachments"] = attachs var resourcePools modelarts.ResourcePool if err = json.Unmarshal([]byte(setting.ResourcePools), &resourcePools); err != nil { ctx.ServerError("json.Unmarshal failed:", err) - return + return err } ctx.Data["resource_pools"] = resourcePools.Info var engines modelarts.Engine if err = json.Unmarshal([]byte(setting.Engines), &engines); err != nil { ctx.ServerError("json.Unmarshal failed:", err) - return + return err } ctx.Data["engines"] = engines.Info var versionInfos modelarts.VersionInfo if err = json.Unmarshal([]byte(setting.EngineVersions), &versionInfos); err != nil { ctx.ServerError("json.Unmarshal failed:", err) - return + return err } ctx.Data["engine_versions"] = versionInfos.Version var flavorInfos modelarts.Flavor if err = json.Unmarshal([]byte(setting.TrainJobFLAVORINFOS), &flavorInfos); err != nil { ctx.ServerError("json.Unmarshal failed:", err) - return + return err } ctx.Data["flavor_infos"] = flavorInfos.Info @@ -587,12 +596,12 @@ func TrainJobNew(ctx *context.Context) { configList, err := getConfigList(modelarts.PerPage, 1, modelarts.SortByCreateTime, "desc", "", modelarts.ConfigTypeCustom) if err != nil { ctx.ServerError("getConfigList failed:", err) - return + return err } ctx.Data["config_list"] = configList.ParaConfigs - ctx.HTML(200, tplModelArtsTrainJobNew) + return nil } func TrainJobCreate(ctx *context.Context, form auth.CreateModelArtsTrainJobForm) { @@ -629,12 +638,14 @@ func TrainJobCreate(ctx *context.Context, form auth.CreateModelArtsTrainJobForm) //param check if err := paramCheckCreateTrainJob(form); err != nil { log.Error("paramCheckCreateTrainJob failed:(%v)", err) + trainJobNewDataPrepare(ctx) ctx.RenderWithErr(err.Error(), tplModelArtsTrainJobNew, &form) return } if err := git.Clone(repo.RepoPath(), codeLocalPath, git.CloneRepoOptions{}); err != nil { log.Error("Failed to clone repository: %s (%v)", repo.FullName(), err) + trainJobNewDataPrepare(ctx) ctx.RenderWithErr("Failed to clone repository", tplModelArtsTrainJobNew, &form) return } @@ -642,18 +653,21 @@ func TrainJobCreate(ctx *context.Context, form auth.CreateModelArtsTrainJobForm) //todo: upload code (send to file_server todo this work?) if err := obsMkdir(setting.CodePathPrefix + jobName + modelarts.OutputPath); err != nil { log.Error("Failed to obsMkdir_output: %s (%v)", repo.FullName(), err) + trainJobNewDataPrepare(ctx) ctx.RenderWithErr("Failed to obsMkdir_output", tplModelArtsTrainJobNew, &form) return } if err := obsMkdir(setting.CodePathPrefix + jobName + modelarts.LogPath); err != nil { log.Error("Failed to obsMkdir_log: %s (%v)", repo.FullName(), err) + trainJobNewDataPrepare(ctx) ctx.RenderWithErr("Failed to obsMkdir_log", tplModelArtsTrainJobNew, &form) return } if err := uploadCodeToObs(codeLocalPath, jobName, ""); err != nil { log.Error("Failed to uploadCodeToObs: %s (%v)", repo.FullName(), err) + trainJobNewDataPrepare(ctx) ctx.RenderWithErr("Failed to uploadCodeToObs", tplModelArtsTrainJobNew, &form) return } @@ -673,6 +687,7 @@ func TrainJobCreate(ctx *context.Context, form auth.CreateModelArtsTrainJobForm) err := json.Unmarshal([]byte(params), ¶meters) if err != nil { log.Error("Failed to Unmarshal params: %s (%v)", params, err) + trainJobNewDataPrepare(ctx) ctx.RenderWithErr("运行参数错误", tplModelArtsTrainJobNew, &form) return } @@ -691,6 +706,7 @@ func TrainJobCreate(ctx *context.Context, form auth.CreateModelArtsTrainJobForm) if isSaveParam == "on" { if form.ParameterTemplateName == "" { log.Error("ParameterTemplateName is empty") + trainJobNewDataPrepare(ctx) ctx.RenderWithErr("保存作业参数时,作业参数名称不能为空", tplModelArtsTrainJobNew, &form) return } @@ -714,6 +730,7 @@ func TrainJobCreate(ctx *context.Context, form auth.CreateModelArtsTrainJobForm) if err != nil { log.Error("Failed to CreateTrainJobConfig: %v", err) + trainJobNewDataPrepare(ctx) ctx.RenderWithErr("保存作业参数失败:"+err.Error(), tplModelArtsTrainJobNew, &form) return } @@ -738,6 +755,7 @@ func TrainJobCreate(ctx *context.Context, form auth.CreateModelArtsTrainJobForm) err := modelarts.GenerateTrainJob(ctx, req) if err != nil { log.Error("GenerateTrainJob failed:%v", err.Error()) + trainJobNewDataPrepare(ctx) ctx.RenderWithErr(err.Error(), tplModelArtsTrainJobNew, &form) return } From 30f28c42e18bd6f1b03509bc751ba9563a5217c0 Mon Sep 17 00:00:00 2001 From: lewis <747342561@qq.com> Date: Tue, 2 Nov 2021 10:16:35 +0800 Subject: [PATCH 2/3] debug task signed in --- routers/repo/cloudbrain.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index a49d4026f..e4b90a6d9 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -321,6 +321,11 @@ func CloudBrainShow(ctx *context.Context) { func CloudBrainDebug(ctx *context.Context) { var jobID = ctx.Params(":jobid") + if !ctx.IsSigned { + log.Error("the user has not signed in") + ctx.Error(http.StatusForbidden, "","the user has not signed in") + return + } task, err := models.GetCloudbrainByJobID(jobID) if err != nil { ctx.ServerError("GetCloudbrainByJobID failed", err) @@ -333,6 +338,11 @@ func CloudBrainDebug(ctx *context.Context) { func CloudBrainCommitImage(ctx *context.Context, form auth.CommitImageCloudBrainForm) { var jobID = ctx.Params(":jobid") + if !ctx.IsSigned { + log.Error("the user has not signed in") + ctx.Error(http.StatusForbidden, "","the user has not signed in") + return + } task, err := models.GetCloudbrainByJobID(jobID) if err != nil { ctx.JSON(200, map[string]string{ @@ -365,6 +375,11 @@ func CloudBrainCommitImage(ctx *context.Context, form auth.CommitImageCloudBrain func CloudBrainStop(ctx *context.Context) { var jobID = ctx.Params(":jobid") + if !ctx.IsSigned { + log.Error("the user has not signed in") + ctx.Error(http.StatusForbidden, "","the user has not signed in") + return + } task, err := models.GetCloudbrainByJobID(jobID) if err != nil { ctx.ServerError("GetCloudbrainByJobID failed", err) From fc27c14e1f8608bdb33507ef161d943c6910ae5c Mon Sep 17 00:00:00 2001 From: lewis <747342561@qq.com> Date: Tue, 2 Nov 2021 10:21:21 +0800 Subject: [PATCH 3/3] debug task signed in --- routers/repo/cloudbrain.go | 5 ----- 1 file changed, 5 deletions(-) diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index e4b90a6d9..03fba6cd1 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -375,11 +375,6 @@ func CloudBrainCommitImage(ctx *context.Context, form auth.CommitImageCloudBrain func CloudBrainStop(ctx *context.Context) { var jobID = ctx.Params(":jobid") - if !ctx.IsSigned { - log.Error("the user has not signed in") - ctx.Error(http.StatusForbidden, "","the user has not signed in") - return - } task, err := models.GetCloudbrainByJobID(jobID) if err != nil { ctx.ServerError("GetCloudbrainByJobID failed", err)