存算联动调整4
Former-commit-id: 2a1ae75d611eb5627610f29b8db92da308d2e32d
This commit is contained in:
parent
ff4d0b7136
commit
d7556a9c1f
|
@ -47,11 +47,11 @@ type (
|
||||||
|
|
||||||
SubmitLinkTaskReq {
|
SubmitLinkTaskReq {
|
||||||
PartId int64 `json:"partId"`
|
PartId int64 `json:"partId"`
|
||||||
ImageId string `json:"imageId"`
|
ImageId string `json:"imageId,optional"`
|
||||||
Cmd string `json:"cmd"`
|
Cmd string `json:"cmd,optional"`
|
||||||
Params []*ParamSl `json:"params"`
|
Params []*ParamSl `json:"params,optional"`
|
||||||
Envs []*EnvSl `json:"envs"`
|
Envs []*EnvSl `json:"envs,optional"`
|
||||||
ResourceId string `json:"resourceId"`
|
ResourceId string `json:"resourceId,optional"`
|
||||||
}
|
}
|
||||||
|
|
||||||
EnvSl {
|
EnvSl {
|
||||||
|
|
|
@ -3,6 +3,7 @@ package storeLink
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
|
"fmt"
|
||||||
"gitlink.org.cn/jcce-pcm/pcm-ac/hpcAC"
|
"gitlink.org.cn/jcce-pcm/pcm-ac/hpcAC"
|
||||||
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
|
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
|
||||||
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
|
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
|
||||||
|
@ -40,9 +41,16 @@ const (
|
||||||
GAP_PPN = ""
|
GAP_PPN = ""
|
||||||
GAP_NGPU = ""
|
GAP_NGPU = ""
|
||||||
GAP_MULTI_SUB = ""
|
GAP_MULTI_SUB = ""
|
||||||
|
StrJobInfoMap = "%d,%s:%s:"
|
||||||
|
Username = "acgnnmfbwo"
|
||||||
)
|
)
|
||||||
|
|
||||||
var RESOURCEMAP = map[string]ResourceSpec{
|
var RESOURCEMAP = map[string]ResourceSpec{
|
||||||
|
"FPOqD5Cx8iNYqawEgDrAxLdrszp4Tmhl": {
|
||||||
|
GAP_NNODE: "1",
|
||||||
|
GAP_NPROC: "1",
|
||||||
|
GAP_NDCU: "1",
|
||||||
|
},
|
||||||
"Nd99eGNoBFC2ZTycKDlqD37heWTOmrMS": {
|
"Nd99eGNoBFC2ZTycKDlqD37heWTOmrMS": {
|
||||||
GAP_NNODE: "1",
|
GAP_NNODE: "1",
|
||||||
GAP_NPROC: "2",
|
GAP_NPROC: "2",
|
||||||
|
@ -91,6 +99,7 @@ var RESOURCEMAP = map[string]ResourceSpec{
|
||||||
}
|
}
|
||||||
|
|
||||||
var RESOURCESPECS = map[string]string{
|
var RESOURCESPECS = map[string]string{
|
||||||
|
"FPOqD5Cx8iNYqawEgDrAxLdrszp4Tmhl": "1*NODE, CPU:1, 1*DCU",
|
||||||
"Nd99eGNoBFC2ZTycKDlqD37heWTOmrMS": "1*NODE, CPU:2, 1*DCU",
|
"Nd99eGNoBFC2ZTycKDlqD37heWTOmrMS": "1*NODE, CPU:2, 1*DCU",
|
||||||
"uAmLkz6jgSZkC6o8JywG7Yo2aiFPPOBO": "1*NODE, CPU:4, 2*DCU",
|
"uAmLkz6jgSZkC6o8JywG7Yo2aiFPPOBO": "1*NODE, CPU:4, 2*DCU",
|
||||||
"D71OZQYrRabJc2nfL2GDWOdLEfbiMzYH": "1*NODE, CPU:8, 4*DCU",
|
"D71OZQYrRabJc2nfL2GDWOdLEfbiMzYH": "1*NODE, CPU:8, 4*DCU",
|
||||||
|
@ -183,7 +192,7 @@ func (s ShuguangHpc) SubmitTask(imageId string, cmd string, envs []string, param
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
updateRequestByResouceId(resourceId, req)
|
updateRequestByResourceId(resourceId, req)
|
||||||
|
|
||||||
resp, err := s.svcCtx.ACRpc.SubmitJob(s.ctx, req)
|
resp, err := s.svcCtx.ACRpc.SubmitJob(s.ctx, req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -210,14 +219,12 @@ func (s ShuguangHpc) QueryTask(taskId string) (interface{}, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
taskRespC, err := ConvertType[hpcAC.GetJobDetailResp](respC, nil)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
//实时作业检查是否成功
|
//实时作业检查是否成功
|
||||||
taskResp := taskRespC.(types.GetLinkTaskResp)
|
if respC.Data != nil {
|
||||||
if taskResp.Task != nil {
|
taskRespC, err := ConvertType[hpcAC.GetJobDetailResp](respC, nil)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
return taskRespC, nil
|
return taskRespC, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -256,13 +263,25 @@ func (s ShuguangHpc) QuerySpecs() (interface{}, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s ShuguangHpc) DeleteTask(taskId string) (interface{}, error) {
|
func (s ShuguangHpc) DeleteTask(taskId string) (interface{}, error) {
|
||||||
//req := hpcAC.DeleteJobReq{}
|
strJobInfoMap := fmt.Sprintf(StrJobInfoMap, StrJobManagerID, Username, taskId)
|
||||||
|
req := &hpcAC.DeleteJobReq{
|
||||||
|
StrJobInfoMap: strJobInfoMap,
|
||||||
|
}
|
||||||
|
resp, err := s.svcCtx.ACRpc.DeleteJob(s.ctx, req)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
//TODO implement me
|
//转换成统一返回类型
|
||||||
panic("implement me")
|
taskResp, err := ConvertType[hpcAC.DeleteJobResp](resp, nil)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return taskResp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func updateRequestByResouceId(resourceId string, req *hpcAC.SubmitJobReq) {
|
func updateRequestByResourceId(resourceId string, req *hpcAC.SubmitJobReq) {
|
||||||
spec := RESOURCEMAP[resourceId]
|
spec := RESOURCEMAP[resourceId]
|
||||||
req.MapAppJobInfo.GAP_NNODE = spec.GAP_NNODE
|
req.MapAppJobInfo.GAP_NNODE = spec.GAP_NNODE
|
||||||
req.MapAppJobInfo.GAP_NPROC = spec.GAP_NPROC
|
req.MapAppJobInfo.GAP_NPROC = spec.GAP_NPROC
|
||||||
|
|
|
@ -38,17 +38,19 @@ type Linkage interface {
|
||||||
}
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
PY_PARAM_PREFIX = "--"
|
PY_PARAM_PREFIX = "--"
|
||||||
SPACE = " "
|
SPACE = " "
|
||||||
UNDERSCORE = "_"
|
UNDERSCORE = "_"
|
||||||
EQUAL = "="
|
EQUAL = "="
|
||||||
COMMA = ","
|
COMMA = ","
|
||||||
TYPE_OCTOPUS = "1"
|
TYPE_OCTOPUS = "1"
|
||||||
TYPE_MODELARTS = "2"
|
TYPE_MODELARTS = "2"
|
||||||
TYPE_SHUGUANGAI = "3"
|
TYPE_SHUGUANGAI = "3"
|
||||||
OCTOPUS = "Octopus"
|
TYPE_SHUGUANGHPC = "4"
|
||||||
MODELARTS = "Modelarts"
|
OCTOPUS = "Octopus"
|
||||||
SHUGUANGAI = "ShuguangAi"
|
MODELARTS = "Modelarts"
|
||||||
|
SHUGUANGAI = "ShuguangAi"
|
||||||
|
SHUGUANGHPC = "ShuguangHpc"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -61,6 +63,7 @@ var (
|
||||||
"1": OCTOPUS,
|
"1": OCTOPUS,
|
||||||
"2": MODELARTS,
|
"2": MODELARTS,
|
||||||
"3": SHUGUANGAI,
|
"3": SHUGUANGAI,
|
||||||
|
"4": SHUGUANGHPC,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -79,6 +82,9 @@ func NewStoreLink(ctx context.Context, svcCtx *svc.ServiceContext, participant *
|
||||||
case TYPE_SHUGUANGAI:
|
case TYPE_SHUGUANGAI:
|
||||||
linkStruct := NewShuguangAi(ctx, svcCtx, participant)
|
linkStruct := NewShuguangAi(ctx, svcCtx, participant)
|
||||||
return &StoreLink{ILinkage: linkStruct}
|
return &StoreLink{ILinkage: linkStruct}
|
||||||
|
case TYPE_SHUGUANGHPC:
|
||||||
|
linkStruct := NewShuguangHpc(ctx, svcCtx, participant)
|
||||||
|
return &StoreLink{ILinkage: linkStruct}
|
||||||
default:
|
default:
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -350,6 +356,16 @@ func ConvertType[T any](in *T, participant *models.StorelinkCenter) (interface{}
|
||||||
resp.ErrorMsg = inresp.Msg
|
resp.ErrorMsg = inresp.Msg
|
||||||
}
|
}
|
||||||
return resp, nil
|
return resp, nil
|
||||||
|
case *hpcAC.DeleteJobResp:
|
||||||
|
var resp types.DeleteLinkTaskResp
|
||||||
|
inresp := (interface{})(in).(*hpcAC.DeleteJobResp)
|
||||||
|
if inresp.Code == "0" {
|
||||||
|
resp.Success = true
|
||||||
|
} else {
|
||||||
|
resp.Success = false
|
||||||
|
resp.ErrorMsg = inresp.Msg
|
||||||
|
}
|
||||||
|
return resp, nil
|
||||||
case *octopus.GetResourceSpecsResp:
|
case *octopus.GetResourceSpecsResp:
|
||||||
var resp types.GetResourceSpecsResp
|
var resp types.GetResourceSpecsResp
|
||||||
inresp := (interface{})(in).(*octopus.GetResourceSpecsResp)
|
inresp := (interface{})(in).(*octopus.GetResourceSpecsResp)
|
||||||
|
|
Loading…
Reference in New Issue