|
- package storeLink
-
- import (
- "context"
- "errors"
- "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/pkg/models"
- "strings"
- )
-
- type ShuguangHpc struct {
- ctx context.Context
- svcCtx *svc.ServiceContext
- participant *models.StorelinkCenter
- }
-
- const (
- SHUGUANGHPC_CUSTOM_RESOURCE_ID = "10240 // 10G"
- )
-
- func NewShuguangHpc(ctx context.Context, svcCtx *svc.ServiceContext, participant *models.StorelinkCenter) *ShuguangHpc {
- return &ShuguangHpc{ctx: ctx, svcCtx: svcCtx, participant: participant}
- }
-
- func (s ShuguangHpc) UploadImage(path string) (interface{}, error) {
- return nil, nil
- }
-
- func (s ShuguangHpc) DeleteImage(imageId string) (interface{}, error) {
- return nil, nil
- }
-
- func (s ShuguangHpc) QueryImageList() (interface{}, error) {
- return nil, nil
- }
-
- func (s ShuguangHpc) SubmitTask(imageId string, cmd string, envs []string, params []string, resourceId string) (interface{}, error) {
- // shuguangHpc提交任务
-
- //判断是否resourceId匹配自定义资源Id
- if resourceId != SHUGUANGAI_CUSTOM_RESOURCE_ID {
- return nil, errors.New("shuguangHpc资源Id不存在")
- }
-
- //环境变量
- var env string
- for _, e := range envs {
- s := strings.Split(e, COMMA)
- env += s[0] + "=" + s[1] + SPACE
- }
-
- //请求
-
- req := &hpcAC.SubmitJobReq{
- Apptype: "",
- Appname: "",
- StrJobManagerID: 0,
- MapAppJobInfo: &hpcAC.MapAppJobInfo{
- GAP_CMD_FILE: "echo $TESTDIR; echo $TESTENV; sleep 30",
- GAP_NNODE: "1",
- GAP_NODE_STRING: "",
- GAP_SUBMIT_TYPE: "cmd",
- GAP_JOB_NAME: "testSlurmjob1",
- GAP_WORK_DIR: "/work/home/acgnnmfbwo/BASE/testSlurmjob1",
- GAP_QUEUE: "wzhdtest",
- GAP_NPROC: "1",
- GAP_PPN: "",
- GAP_NGPU: "",
- GAP_NDCU: "1",
- GAP_WALL_TIME: "01:00:00",
- GAP_EXCLUSIVE: "",
- GAP_APPNAME: "BASE",
- GAP_MULTI_SUB: "",
- GAP_STD_OUT_FILE: "/work/home/acgnnmfbwo/BASE/testSlurmjob1/std.out.%j",
- GAP_STD_ERR_FILE: "/work/home/acgnnmfbwo/BASE/testSlurmjob1/std.err.%j",
- GAP_SCHEDULER_OPT_WEB: "export TESTDIR=/bin/emacs\nexport TESTENV=12345",
- },
- }
-
- resp, err := s.svcCtx.ACRpc.SubmitJob(s.ctx, req)
- if err != nil {
- return nil, err
- }
-
- //转换成统一返回类型
- submitResp, err := ConvertType[hpcAC.SubmitJobResp](resp, nil)
- if err != nil {
- return nil, err
- }
-
- return submitResp, nil
-
- }
-
- func (s ShuguangHpc) QueryTask(taskId string) (interface{}, error) {
- //TODO implement me
- panic("implement me")
- }
-
- func (s ShuguangHpc) QuerySpecs() (interface{}, error) {
- //TODO implement me
- panic("implement me")
- }
-
- func (s ShuguangHpc) DeleteTask(taskId string) (interface{}, error) {
- //TODO implement me
- panic("implement me")
- }
|