coordinator repo init
Former-commit-id: cfd3e17f7344e42ab4929d2e02de754006a677df
This commit is contained in:
parent
e4ed584fee
commit
e701c88555
|
@ -1,20 +0,0 @@
|
||||||
FROM alpine:3.16.2
|
|
||||||
WORKDIR /home
|
|
||||||
|
|
||||||
# 修改alpine源为上海交通大学
|
|
||||||
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.sjtug.sjtu.edu.cn/g' /etc/apk/repositories && \
|
|
||||||
apk update && \
|
|
||||||
apk upgrade && \
|
|
||||||
apk add --no-cache ca-certificates && update-ca-certificates && \
|
|
||||||
apk add --update tzdata && \
|
|
||||||
rm -rf /var/cache/apk/*
|
|
||||||
|
|
||||||
|
|
||||||
COPY pcm-modelarts /home/
|
|
||||||
COPY etc/pcmmodelarts.yaml /home/
|
|
||||||
|
|
||||||
ENV TZ=Asia/Shanghai
|
|
||||||
|
|
||||||
EXPOSE 2003
|
|
||||||
|
|
||||||
ENTRYPOINT ./pcm-modelarts -f pcmmodelarts.yaml
|
|
|
@ -1,2 +0,0 @@
|
||||||
rpc-gen:
|
|
||||||
goctl rpc protoc ./pb/*.proto --go_out=./ --go-grpc_out=./ --zrpc_out=.
|
|
|
@ -1,15 +0,0 @@
|
||||||
NacosConfig:
|
|
||||||
DataId: pcm-modelarts-rpc.yaml
|
|
||||||
Group: DEFAULT_GROUP
|
|
||||||
ServerConfigs:
|
|
||||||
# - IpAddr: 127.0.0.1
|
|
||||||
# Port: 8848
|
|
||||||
- IpAddr: nacos.jcce.dev
|
|
||||||
Port: 8848
|
|
||||||
ClientConfig:
|
|
||||||
NamespaceId: test
|
|
||||||
TimeoutMs: 5000
|
|
||||||
NotLoadCacheAtStart: true
|
|
||||||
LogDir:
|
|
||||||
CacheDir:
|
|
||||||
LogLevel: debug
|
|
|
@ -1,68 +0,0 @@
|
||||||
package common
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"encoding/json"
|
|
||||||
"io"
|
|
||||||
"log"
|
|
||||||
"net/http"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
IAMUser = "pcmmodelarts"
|
|
||||||
IAMPassword = "!QAZ2wsx3edc4"
|
|
||||||
IAMDomain = "hw_008618597947378_01"
|
|
||||||
AuthMethod = "password"
|
|
||||||
IAMTokenUrl = "https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens"
|
|
||||||
ProjectName = "cn-north-4"
|
|
||||||
TokenHeader = "X-Subject-Token"
|
|
||||||
Status_created = 201
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
token, expiredAt = GenerateToken()
|
|
||||||
)
|
|
||||||
|
|
||||||
func GenerateToken() (string, time.Time) {
|
|
||||||
a := Auth{}
|
|
||||||
a.Auth.Scope.Project.Name = ProjectName
|
|
||||||
a.Auth.Identity.Methods = append(a.Auth.Identity.Methods, AuthMethod)
|
|
||||||
a.Auth.Identity.Password.User.Name = IAMUser
|
|
||||||
a.Auth.Identity.Password.User.Password = IAMPassword
|
|
||||||
a.Auth.Identity.Password.User.Domain.Name = IAMDomain
|
|
||||||
|
|
||||||
jsonStr, _ := json.Marshal(a)
|
|
||||||
req_url, err := http.NewRequest("POST", IAMTokenUrl, bytes.NewBuffer(jsonStr))
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
c := http.Client{Timeout: time.Duration(3) * time.Second}
|
|
||||||
|
|
||||||
respUrl, err := c.Do(req_url)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if respUrl.StatusCode != Status_created {
|
|
||||||
panic("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
defer respUrl.Body.Close()
|
|
||||||
|
|
||||||
var t Token
|
|
||||||
|
|
||||||
result, _ := io.ReadAll(respUrl.Body)
|
|
||||||
json.Unmarshal(result, &t)
|
|
||||||
|
|
||||||
return respUrl.Header.Get(TokenHeader), t.Token.ExpiresAt
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetToken() string {
|
|
||||||
if time.Now().After(expiredAt) {
|
|
||||||
token, expiredAt = GenerateToken()
|
|
||||||
}
|
|
||||||
return token
|
|
||||||
}
|
|
|
@ -1,71 +0,0 @@
|
||||||
package common
|
|
||||||
|
|
||||||
import "time"
|
|
||||||
|
|
||||||
type Token struct {
|
|
||||||
Token struct {
|
|
||||||
ExpiresAt time.Time `json:"expires_at"`
|
|
||||||
Methods []string `json:"methods"`
|
|
||||||
Catalog []struct {
|
|
||||||
Endpoints []struct {
|
|
||||||
Id string `json:"id"`
|
|
||||||
Interface string `json:"interface"`
|
|
||||||
Region string `json:"region"`
|
|
||||||
RegionId string `json:"region_id"`
|
|
||||||
Url string `json:"url"`
|
|
||||||
} `json:"endpoints"`
|
|
||||||
Id string `json:"id"`
|
|
||||||
Name string `json:"name"`
|
|
||||||
Type string `json:"type"`
|
|
||||||
} `json:"catalog"`
|
|
||||||
Roles []struct {
|
|
||||||
Id string `json:"id"`
|
|
||||||
Name string `json:"name"`
|
|
||||||
} `json:"roles"`
|
|
||||||
Project struct {
|
|
||||||
Domain struct {
|
|
||||||
Id string `json:"id"`
|
|
||||||
Name string `json:"name"`
|
|
||||||
} `json:"domain"`
|
|
||||||
Id string `json:"id"`
|
|
||||||
Name string `json:"name"`
|
|
||||||
} `json:"project"`
|
|
||||||
IssuedAt time.Time `json:"issued_at"`
|
|
||||||
User struct {
|
|
||||||
Domain struct {
|
|
||||||
Id string `json:"id"`
|
|
||||||
Name string `json:"name"`
|
|
||||||
} `json:"domain"`
|
|
||||||
Id string `json:"id"`
|
|
||||||
Name string `json:"name"`
|
|
||||||
PasswordExpiresAt string `json:"password_expires_at"`
|
|
||||||
} `json:"user"`
|
|
||||||
} `json:"token"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type Auth struct {
|
|
||||||
Auth struct {
|
|
||||||
Identity struct {
|
|
||||||
Methods []string `json:"methods"`
|
|
||||||
Password struct {
|
|
||||||
User struct {
|
|
||||||
Name string `json:"name"`
|
|
||||||
Password string `json:"password"`
|
|
||||||
Domain struct {
|
|
||||||
Name string `json:"name"`
|
|
||||||
} `json:"domain"`
|
|
||||||
} `json:"user"`
|
|
||||||
} `json:"password"`
|
|
||||||
} `json:"identity"`
|
|
||||||
Scope struct {
|
|
||||||
Project struct {
|
|
||||||
Name string `json:"name"`
|
|
||||||
} `json:"project"`
|
|
||||||
} `json:"scope"`
|
|
||||||
} `json:"auth"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type Error struct {
|
|
||||||
ErrorCode string `json:"error_code"`
|
|
||||||
ErrorMsg string `json:"error_msg"`
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
package config
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
"github.com/zeromicro/go-zero/zrpc"
|
|
||||||
)
|
|
||||||
|
|
||||||
type Config struct {
|
|
||||||
zrpc.RpcServerConf
|
|
||||||
LogConf logx.LogConf
|
|
||||||
PcmCoreRpcConf zrpc.RpcClientConf
|
|
||||||
ModelArtsConfig
|
|
||||||
}
|
|
|
@ -1,15 +0,0 @@
|
||||||
package config
|
|
||||||
|
|
||||||
type ModelArtsConfig struct {
|
|
||||||
ModelArtsUrl string `json:"ModelArtsUrl"`
|
|
||||||
IAMUser string `json:"IAMUser"`
|
|
||||||
NanjingModelArtsUrl string `json:"NanjingModelArtsUrl"`
|
|
||||||
AK string `json:"AK"`
|
|
||||||
SK string `json:"SK"`
|
|
||||||
XProjectId string `json:"X-Project-Id"`
|
|
||||||
XDomainId string `json:"X-Domain-Id"`
|
|
||||||
HaweiModelArtsType string `json:"HaweiModelArtsType"`
|
|
||||||
NanjingModelArtsType string `json:"NanjingModelArtsType"`
|
|
||||||
HuaweiProjectId string `json:"Huawei-Project-Id"`
|
|
||||||
NanjingProjectId string `json:"Nanjing-Project-Id"`
|
|
||||||
}
|
|
|
@ -1,95 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"bytes"
|
|
||||||
"context"
|
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
"io/ioutil"
|
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
type CreateAlgorithmLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewCreateAlgorithmLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateAlgorithmLogic {
|
|
||||||
return &CreateAlgorithmLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// CreateAlgorithm 创建算法
|
|
||||||
func (l *CreateAlgorithmLogic) CreateAlgorithm(in *modelarts.CreateAlgorithmReq) (*modelarts.CreateAlgorithmResp, error) {
|
|
||||||
var resp modelarts.CreateAlgorithmResp
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v2/" + in.ProjectId + "/algorithms"
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
payload := strings.NewReader(string(reqByte))
|
|
||||||
token := common.GetToken()
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, url, payload, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if statusCode == 201 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode == 400 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
XDomainId := l.svcCtx.Config.XDomainId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/algorithms",
|
|
||||||
bytes.NewBuffer(reqByte))
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
//return
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("X-Domain-Id", XDomainId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,90 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"bytes"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type CreateDataSetLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewCreateDataSetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateDataSetLogic {
|
|
||||||
return &CreateDataSetLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// create DateSet
|
|
||||||
func (l *CreateDataSetLogic) CreateDataSet(in *modelarts.CreateDataSetReq) (*modelarts.CreateDataSetResq, error) {
|
|
||||||
// todo: add your logic here and delete this line
|
|
||||||
var resp modelarts.CreateDataSetResq
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v2/" + in.ProjectId + "/datasets"
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
payload := strings.NewReader(string(reqByte))
|
|
||||||
token := common.GetToken()
|
|
||||||
body, err := tool.HttpClient(tool.POST, url, payload, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
if &resp == nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/datasets",
|
|
||||||
bytes.NewBuffer(reqByte))
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
//return
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,91 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
/*
|
|
||||||
desc: "AI core微服务"
|
|
||||||
author: "xie"
|
|
||||||
*/
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"bytes"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
type CreateModelLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewCreateModelLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateModelLogic {
|
|
||||||
return &CreateModelLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// model management
|
|
||||||
func (l *CreateModelLogic) CreateModel(in *modelarts.CreateModelReq) (*modelarts.CreateModelResp, error) {
|
|
||||||
// todo: add your logic here and delete this line
|
|
||||||
var resp modelarts.CreateModelResp
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v1/" + in.ProjectId + "/models"
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
payload := strings.NewReader(string(reqByte))
|
|
||||||
token := common.GetToken()
|
|
||||||
body, err := tool.HttpClient(tool.POST, url, payload, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/models",
|
|
||||||
bytes.NewBuffer(reqByte))
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,105 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"bytes"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
)
|
|
||||||
|
|
||||||
type CreateNotebookLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewCreateNotebookLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateNotebookLogic {
|
|
||||||
return &CreateNotebookLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *CreateNotebookLogic) CreateNotebook(in *modelarts.CreateNotebookReq) (*modelarts.CreateNotebookResp, error) {
|
|
||||||
resp := &modelarts.CreateNotebookResp{}
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
|
|
||||||
createUrl := modelArtsUrl + "v1/{project_id}/notebooks"
|
|
||||||
|
|
||||||
token := common.GetToken()
|
|
||||||
|
|
||||||
var createResp modelarts.NotebookResp
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
res, err := req.
|
|
||||||
SetHeader("x-auth-token", token).
|
|
||||||
SetPathParam("project_id", in.ProjectId).
|
|
||||||
SetBody(in.Param).
|
|
||||||
SetResult(&createResp).
|
|
||||||
Post(createUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
if res.StatusCode() == 200 || res.StatusCode() == 201 {
|
|
||||||
resp.NotebookResp = &createResp
|
|
||||||
resp.Code = int32(res.StatusCode())
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else {
|
|
||||||
resp.Code = int32(res.StatusCode())
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
|
|
||||||
var errMsg common.Error
|
|
||||||
err := json.Unmarshal(res.Body(), &errMsg)
|
|
||||||
if err != nil {
|
|
||||||
errMsg.ErrorMsg = ""
|
|
||||||
}
|
|
||||||
resp.ErrorMsg = errMsg.ErrorMsg
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/notebooks",
|
|
||||||
bytes.NewBuffer(reqByte))
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,92 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
/*
|
|
||||||
desc: "AI core微服务"
|
|
||||||
author: "xie"
|
|
||||||
*/
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"bytes"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type CreateProcessorTaskLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewCreateProcessorTaskLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateProcessorTaskLogic {
|
|
||||||
return &CreateProcessorTaskLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// processor task
|
|
||||||
func (l *CreateProcessorTaskLogic) CreateProcessorTask(in *modelarts.CreateProcessorTaskReq) (*modelarts.CreateProcessorTaskResp, error) {
|
|
||||||
// todo: add your logic here and delete this line
|
|
||||||
var resp modelarts.CreateProcessorTaskResp
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v2/" + in.ProjectId + "/processor-tasks/"
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
payload := strings.NewReader(string(reqByte))
|
|
||||||
token := common.GetToken()
|
|
||||||
body, err := tool.HttpClient(tool.POST, url, payload, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/processor-tasks/",
|
|
||||||
bytes.NewBuffer(reqByte))
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,102 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
/*
|
|
||||||
desc: "AI core微服务"
|
|
||||||
author: "xie"
|
|
||||||
*/
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"bytes"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
)
|
|
||||||
|
|
||||||
type CreateServiceLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewCreateServiceLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateServiceLogic {
|
|
||||||
return &CreateServiceLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// service management
|
|
||||||
func (l *CreateServiceLogic) CreateService(in *modelarts.CreateServiceReq) (*modelarts.CreateServiceResp, error) {
|
|
||||||
// todo: add your logic here and delete this line
|
|
||||||
var resp modelarts.CreateServiceResp
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v1/" + in.ProjectId + "/services"
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
payload := strings.NewReader(string(reqByte))
|
|
||||||
token := common.GetToken()
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, url, payload, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if statusCode == 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/services",
|
|
||||||
bytes.NewBuffer(reqByte))
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,95 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"bytes"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type CreateTaskLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewCreateTaskLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateTaskLogic {
|
|
||||||
return &CreateTaskLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// creat task 创建导入任务
|
|
||||||
func (l *CreateTaskLogic) CreateTask(in *modelarts.ImportTaskDataReq) (*modelarts.ImportTaskDataResp, error) {
|
|
||||||
var resp modelarts.ImportTaskDataResp
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v2/" + in.ProjectId + "/datasets/" + in.DatasetId + "/import-tasks"
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
payload := strings.NewReader(string(reqByte))
|
|
||||||
token := common.GetToken()
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, url, payload, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if statusCode == 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/datasets"+in.DatasetId+"/import-tasks",
|
|
||||||
bytes.NewBuffer(reqByte))
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,89 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"bytes"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type CreateTrainingJobConfigLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewCreateTrainingJobConfigLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateTrainingJobConfigLogic {
|
|
||||||
return &CreateTrainingJobConfigLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// CreateTrainingJobConfig 创建训练作业参数
|
|
||||||
func (l *CreateTrainingJobConfigLogic) CreateTrainingJobConfig(in *modelarts.CreateTrainingJobConfigReq) (*modelarts.CreateTrainingJobConfigResp, error) {
|
|
||||||
var resp modelarts.CreateTrainingJobConfigResp
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v1/" + in.ProjectId + "/training-job-configs"
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
payload := strings.NewReader(string(reqByte))
|
|
||||||
token := common.GetToken()
|
|
||||||
body, err := tool.HttpClient(tool.POST, url, payload, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
if &resp == nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/training-job-configs",
|
|
||||||
bytes.NewBuffer(reqByte))
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,97 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"bytes"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type CreateTrainingJobLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewCreateTrainingJobLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateTrainingJobLogic {
|
|
||||||
return &CreateTrainingJobLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// CreateTrainingJob 创建训练作业
|
|
||||||
func (l *CreateTrainingJobLogic) CreateTrainingJob(in *modelarts.CreateTrainingJobReq) (*modelarts.CreateTrainingJobResp, error) {
|
|
||||||
var resp modelarts.CreateTrainingJobResp
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v2/" + in.ProjectId + "/training-jobs"
|
|
||||||
//url := "https://modelarts.cn-north-4.myhuaweicloud.com/v2/0a62ffb0d48026c12fbfc011b8d23f0b/training-jobs"
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
payload := strings.NewReader(string(reqByte))
|
|
||||||
token := common.GetToken()
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, url, payload, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if statusCode == 201 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 201 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
XDomainId := l.svcCtx.Config.XDomainId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/training-jobs",
|
|
||||||
bytes.NewBuffer(reqByte))
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
//return
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("X-Domain-Id", XDomainId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,88 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"bytes"
|
|
||||||
"context"
|
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type CreateVisualizationJobLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewCreateVisualizationJobLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateVisualizationJobLogic {
|
|
||||||
return &CreateVisualizationJobLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *CreateVisualizationJobLogic) CreateVisualizationJob(in *modelarts.CreateVisualizationJobReq) (*modelarts.CreateVisualizationJobResp, error) {
|
|
||||||
var resp modelarts.CreateVisualizationJobResp
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
createVisualJobUrl := modelArtsUrl + "/v1/{project_id}/visualization-jobs"
|
|
||||||
createVisualJobUrl = strings.Replace(createVisualJobUrl, "{project_id}", in.ProjectId, -1)
|
|
||||||
|
|
||||||
reqByte, err := json.Marshal(in.Param)
|
|
||||||
if err != nil {
|
|
||||||
panic(err.Error())
|
|
||||||
}
|
|
||||||
payload := strings.NewReader(string(reqByte))
|
|
||||||
token := common.GetToken()
|
|
||||||
body, err := tool.HttpClient(tool.POST, createVisualJobUrl, payload, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/visualization-jobs",
|
|
||||||
bytes.NewBuffer(reqByte))
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,217 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
"PCM/adaptor/PCM-CORE/rpc/pcmcoreclient"
|
|
||||||
"context"
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
func InitCron(svc *svc.ServiceContext) {
|
|
||||||
submitJobLogic := NewCreateTrainingJobLogic(context.Background(), svc)
|
|
||||||
listLogic := NewGetListTrainingJobsLogic(context.Background(), svc)
|
|
||||||
svc.Cron.AddFunc("*/5 * * * * ?", func() {
|
|
||||||
syncInfoReq := pcmcoreclient.SyncInfoReq{
|
|
||||||
Kind: "ai",
|
|
||||||
ServiceName: "modelArts",
|
|
||||||
}
|
|
||||||
// 查询core端分发下来的任务列表
|
|
||||||
infoList, err := queryCoreInfoList(svc)
|
|
||||||
if err != nil {
|
|
||||||
logx.Error(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// 提交任务
|
|
||||||
submitJob(infoList, submitJobLogic)
|
|
||||||
// 查询运行中的任务列表同步信息
|
|
||||||
listReq := modelarts.ListTrainingJobsreq{
|
|
||||||
ProjectId: "0a62ffb0d48026c12fbfc011b8d23f0b",
|
|
||||||
Limit: 10,
|
|
||||||
OffSet: 0,
|
|
||||||
ModelArtsType: "cn-north-4.myhuawei",
|
|
||||||
}
|
|
||||||
listJob, err := listLogic.GetListTrainingJobs(&listReq)
|
|
||||||
if err != nil {
|
|
||||||
logx.Error(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
for index, _ := range infoList.AiInfoList {
|
|
||||||
for _, job := range listJob.Items {
|
|
||||||
if job.Metadata.Name == infoList.AiInfoList[index].Name {
|
|
||||||
infoList.AiInfoList[index].ProjectId = job.ProjectId
|
|
||||||
infoList.AiInfoList[index].JobId = job.Metadata.Id
|
|
||||||
createTime := time.Unix(int64(job.Metadata.CreateTime)/1000, 0)
|
|
||||||
infoList.AiInfoList[index].CreateTime = time.Time.String(createTime)
|
|
||||||
if job.Status.StartTime != 0 {
|
|
||||||
startTime := time.Unix(int64(job.Status.StartTime)/1000, 0)
|
|
||||||
infoList.AiInfoList[index].StartTime = time.Time.String(startTime)
|
|
||||||
}
|
|
||||||
infoList.AiInfoList[index].RunningTime = int64(job.Status.Duration) / 1000
|
|
||||||
infoList.AiInfoList[index].Status = job.Status.Phase
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 同步信息到core端
|
|
||||||
if len(infoList.AiInfoList) != 0 {
|
|
||||||
syncInfoReq.AiInfoList = infoList.AiInfoList
|
|
||||||
svc.PcmCoreRpc.SyncInfo(context.Background(), &syncInfoReq)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func submitJob(infoList *pcmcoreclient.InfoListResp, submitJobLogic *CreateTrainingJobLogic) {
|
|
||||||
for index, _ := range infoList.AiInfoList {
|
|
||||||
if infoList.AiInfoList[index].Status == "Saved" {
|
|
||||||
submitReq := modelarts.CreateTrainingJobReq{
|
|
||||||
ModelArtsType: "cn-north-4.myhuawei",
|
|
||||||
Kind: "job",
|
|
||||||
ProjectId: "0a62ffb0d48026c12fbfc011b8d23f0b",
|
|
||||||
Metadata: &modelarts.MetadataS{
|
|
||||||
Name: infoList.AiInfoList[index].Name,
|
|
||||||
WorkspaceId: "0",
|
|
||||||
Description: "This is a ModelArts Demo Job",
|
|
||||||
},
|
|
||||||
Algorithm: &modelarts.Algorithms{
|
|
||||||
//SubscriptionId: infoList.AiInfoList[index].SubscriptionId,
|
|
||||||
//ItemVersionId: infoList.AiInfoList[index].ItemVersionId,
|
|
||||||
SubscriptionId: "26a0d9a9-808a-43f4-9a06-c9ea6bdc53d2",
|
|
||||||
ItemVersionId: "2.0.0",
|
|
||||||
//Command: infoList.AiInfoList[index].Command,
|
|
||||||
//Engine: &modelarts.EngineCreateTraining{
|
|
||||||
// ImageUrl: infoList.AiInfoList[index].ImageUrl,
|
|
||||||
//},
|
|
||||||
Parameters: []*modelarts.ParametersTrainJob{
|
|
||||||
{
|
|
||||||
Name: "do_train",
|
|
||||||
Value: "True",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Name: "do_eval_along_train",
|
|
||||||
Value: "True",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Name: "lr",
|
|
||||||
Value: "0.01",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Name: "epochs",
|
|
||||||
Value: "60",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Name: "batch_size",
|
|
||||||
Value: "64",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Name: "eval_batch_size",
|
|
||||||
Value: "64",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Name: "lr_scheduler",
|
|
||||||
Value: "cos",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Name: "lr_step",
|
|
||||||
Value: "20",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Name: "mixup",
|
|
||||||
Value: "0.2",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Name: "label_smoothing",
|
|
||||||
Value: "0.1",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Name: "warmup_epochs",
|
|
||||||
Value: "5",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Name: "rand_aug",
|
|
||||||
Value: "True",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Name: "num_workers",
|
|
||||||
Value: "8",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Name: "model_name",
|
|
||||||
Value: "resnest50",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Name: "use_dali",
|
|
||||||
Value: "False",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Name: "accumulation_steps",
|
|
||||||
Value: "1",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Name: "do_data_cleaning",
|
|
||||||
Value: "True",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Name: "max_to_keep",
|
|
||||||
Value: "10",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Inputs: []*modelarts.InputTraining{
|
|
||||||
{
|
|
||||||
Name: "data_url",
|
|
||||||
AccessMethod: "parameter",
|
|
||||||
Remote: &modelarts.RemoteTra{
|
|
||||||
Dataset: &modelarts.DatasetTra{
|
|
||||||
Id: "L0cTaBjZF61k27w8T74",
|
|
||||||
Name: "dataset-flower",
|
|
||||||
VersionName: "V001",
|
|
||||||
VersionId: "xBx4lPDk4rtf6mEex4W",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Outputs: []*modelarts.OutputTraining{
|
|
||||||
{
|
|
||||||
Name: "train_url",
|
|
||||||
AccessMethod: "parameter",
|
|
||||||
Remote: &modelarts.RemoteOut{
|
|
||||||
Obs: &modelarts.ObsTra{
|
|
||||||
ObsUrl: "/jointcloud-out1/flower/",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Spec: &modelarts.SpecsC{
|
|
||||||
Resource: &modelarts.ResourceCreateTraining{
|
|
||||||
FlavorId: infoList.AiInfoList[index].FlavorId,
|
|
||||||
NodeCount: 1,
|
|
||||||
Policy: "regular",
|
|
||||||
FlavorLabel: "[限时免费] GPU: 1*NVIDIA-V100(32GB) | CPU: 8 核 64GB 780GB",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
jobResult, _ := submitJobLogic.CreateTrainingJob(&submitReq)
|
|
||||||
if jobResult.Code == 200 {
|
|
||||||
infoList.AiInfoList[index].Status = jobResult.Status.Phase
|
|
||||||
infoList.AiInfoList[index].ProjectId = jobResult.Metadata.Id
|
|
||||||
} else {
|
|
||||||
infoList.AiInfoList[index].Result = "Failed"
|
|
||||||
infoList.AiInfoList[index].Result = jobResult.Msg
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func queryCoreInfoList(svc *svc.ServiceContext) (*pcmcoreclient.InfoListResp, error) {
|
|
||||||
infoReq := pcmcoreclient.InfoListReq{
|
|
||||||
Kind: "ai",
|
|
||||||
ServiceName: "modelArts",
|
|
||||||
}
|
|
||||||
infoList, err := svc.PcmCoreRpc.InfoList(context.Background(), &infoReq)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return infoList, nil
|
|
||||||
}
|
|
|
@ -1,99 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type DeleteAlgorithmsLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewDeleteAlgorithmsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteAlgorithmsLogic {
|
|
||||||
return &DeleteAlgorithmsLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeleteAlgorithms 删除算法
|
|
||||||
func (l *DeleteAlgorithmsLogic) DeleteAlgorithms(in *modelarts.DeleteAlgorithmsReq) (*modelarts.DeleteAlgorithmsResp, error) {
|
|
||||||
var resp modelarts.DeleteAlgorithmsResp
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v2/" + in.ProjectId + "/algorithms/" + in.AlgorithmId
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
payload := strings.NewReader(string(reqByte))
|
|
||||||
token := common.GetToken()
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.DELETE, url, payload, token)
|
|
||||||
if statusCode == 202 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 202 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
XDomainId := l.svcCtx.Config.XDomainId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("DELETE", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/algorithms/"+in.AlgorithmId,
|
|
||||||
nil)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
//return
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("X-Domain-Id", XDomainId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
statusCode := res.StatusCode
|
|
||||||
if statusCode == 202 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 202 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,103 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type DeleteDataSetLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewDeleteDataSetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteDataSetLogic {
|
|
||||||
return &DeleteDataSetLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// create DateSet
|
|
||||||
func (l *DeleteDataSetLogic) DeleteDataSet(in *modelarts.DeleteDataSetReq) (*modelarts.DeleteDataSetResq, error) {
|
|
||||||
// todo: add your logic here and delete this line
|
|
||||||
var resp modelarts.DeleteDataSetResq
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v2/" + in.ProjectId + "/datasets/" + in.DatasetId
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
payload := strings.NewReader(string(reqByte))
|
|
||||||
token := common.GetToken()
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.DELETE, url, payload, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if statusCode == 204 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 204 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("DELETE", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/datasets/"+in.DatasetId,
|
|
||||||
nil)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
statusCode := res.StatusCode
|
|
||||||
if statusCode == 202 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 202 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,104 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
/*
|
|
||||||
desc: "AI core微服务"
|
|
||||||
author: "xie"
|
|
||||||
*/
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type DeleteModelLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewDeleteModelLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteModelLogic {
|
|
||||||
return &DeleteModelLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *DeleteModelLogic) DeleteModel(in *modelarts.DeleteModelReq) (*modelarts.DeleteModelResp, error) {
|
|
||||||
// todo: add your logic here and delete this line
|
|
||||||
var resp modelarts.DeleteModelResp
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v1/" + in.ProjectId + "/models/" + in.ModelId
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
payload := strings.NewReader(string(reqByte))
|
|
||||||
token := common.GetToken()
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.DELETE, url, payload, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if statusCode == 202 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 202 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("DELETE", NanjingModelArtsUrl+in.ProjectId+"/models/"+in.ModelId,
|
|
||||||
nil)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
statusCode := res.StatusCode
|
|
||||||
if statusCode == 202 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 202 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,97 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
/*
|
|
||||||
desc: "AI core微服务"
|
|
||||||
author: "xie"
|
|
||||||
*/
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type DeleteServiceLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewDeleteServiceLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteServiceLogic {
|
|
||||||
return &DeleteServiceLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *DeleteServiceLogic) DeleteService(in *modelarts.DeleteServiceReq) (*modelarts.DeleteServiceResp, error) {
|
|
||||||
var resp modelarts.DeleteServiceResp
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v1/" + in.ProjectId + "/services/" + in.ServiceId
|
|
||||||
token := common.GetToken()
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.DELETE, url, nil, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if statusCode == 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("DELETE", NanjingModelArtsUrl+in.ProjectId+"/services/"+in.ServiceId,
|
|
||||||
nil)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
//return
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
statusCode := res.StatusCode
|
|
||||||
if statusCode == 202 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 202 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,93 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type DeleteTrainingJobConfigLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewDeleteTrainingJobConfigLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteTrainingJobConfigLogic {
|
|
||||||
return &DeleteTrainingJobConfigLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeleteTrainingJobConfig 删除训练作业参数
|
|
||||||
func (l *DeleteTrainingJobConfigLogic) DeleteTrainingJobConfig(in *modelarts.DeleteTrainingJobConfigReq) (*modelarts.DeleteTrainingJobConfigResp, error) {
|
|
||||||
var resp modelarts.DeleteTrainingJobConfigResp
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v1/" + in.ProjectId + "/training-job-configs/" + in.ConfigName
|
|
||||||
token := common.GetToken()
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.DELETE, url, strings.NewReader(``), token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if statusCode == 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("DELETE", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/training-job-configs/"+in.ConfigName,
|
|
||||||
nil)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
statusCode := res.StatusCode
|
|
||||||
if statusCode == 202 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 202 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,100 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
type DeleteTrainingJobLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewDeleteTrainingJobLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteTrainingJobLogic {
|
|
||||||
return &DeleteTrainingJobLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeleteTrainingJobConfig 删除训练作业
|
|
||||||
func (l *DeleteTrainingJobLogic) DeleteTrainingJob(in *modelarts.DeleteTrainingJobReq) (*modelarts.DeleteTrainingJobResp, error) {
|
|
||||||
var resp modelarts.DeleteTrainingJobResp
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v2/" + in.ProjectId + "/training-jobs/" + in.TrainingJobId
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
payload := strings.NewReader(string(reqByte))
|
|
||||||
token := common.GetToken()
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.DELETE, url, payload, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if statusCode == 202 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 202 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
XDomainId := l.svcCtx.Config.XDomainId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("DELETE", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/training-jobs/"+in.TrainingJobId,
|
|
||||||
nil)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
//return
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("X-Domain-Id", XDomainId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
statusCode := res.StatusCode
|
|
||||||
if statusCode == 202 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 202 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,82 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
/*
|
|
||||||
desc: "AI core微服务"
|
|
||||||
author: "xie"
|
|
||||||
*/
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type DescribeProcessorTaskLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewDescribeProcessorTaskLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DescribeProcessorTaskLogic {
|
|
||||||
return &DescribeProcessorTaskLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *DescribeProcessorTaskLogic) DescribeProcessorTask(in *modelarts.DescribeProcessorTaskReq) (*modelarts.DescribeProcessorTaskResp, error) {
|
|
||||||
// todo: add your logic here and delete this line
|
|
||||||
var resp modelarts.DescribeProcessorTaskResp
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v2/" + in.ProjectId + "/processor-tasks/" + in.TaskId
|
|
||||||
token := common.GetToken()
|
|
||||||
body, err := tool.HttpClient(tool.GET, url, nil, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/processor-tasks/"+in.TaskId,
|
|
||||||
nil)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,99 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
/*
|
|
||||||
desc: "AI core微服务"
|
|
||||||
author: "xie"
|
|
||||||
*/
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
_ "PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"bytes"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type ExportTaskLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewExportTaskLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ExportTaskLogic {
|
|
||||||
return &ExportTaskLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ExportTask for modelarts
|
|
||||||
func (l *ExportTaskLogic) ExportTask(in *modelarts.ExportTaskReq) (*modelarts.ExportTaskDataResp, error) {
|
|
||||||
var resp modelarts.ExportTaskDataResp
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == "huawei" {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v2/" + in.ProjectId + "/datasets/" + in.DatasetId + "/export-tasks"
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
payload := strings.NewReader(string(reqByte))
|
|
||||||
token := common.GetToken()
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, url, payload, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if statusCode == 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
} else if modelArtsType == "nanjing" {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/datasets/"+in.DatasetId+"/export-tasks",
|
|
||||||
bytes.NewBuffer(reqByte))
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,89 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type GetAiEnginesListLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewGetAiEnginesListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetAiEnginesListLogic {
|
|
||||||
return &GetAiEnginesListLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// GET ai-engines 查询作业引擎规格
|
|
||||||
func (l *GetAiEnginesListLogic) GetAiEnginesList(in *modelarts.ListAiEnginesReq) (*modelarts.ListAiEnginesResp, error) {
|
|
||||||
// todo: add your logic here and delete this line
|
|
||||||
var resp modelarts.ListAiEnginesResp
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v2/" + in.ProjectId + "/training-job-engines"
|
|
||||||
token := common.GetToken()
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, url, nil, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if statusCode == 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
XDomainId := l.svcCtx.Config.XDomainId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/training-job-engines",
|
|
||||||
nil)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("X-Domain-Id", XDomainId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,96 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
"strconv"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
type GetDatasetListLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewGetDatasetListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetDatasetListLogic {
|
|
||||||
return &GetDatasetListLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// find datasetList
|
|
||||||
func (l *GetDatasetListLogic) GetDatasetList(in *modelarts.DataSetReq) (*modelarts.DataSetResp, error) {
|
|
||||||
projectId := in.ProjectId
|
|
||||||
var resp modelarts.DataSetResp
|
|
||||||
offset := strconv.Itoa(int(in.Offset))
|
|
||||||
judgeLimit := strconv.Itoa(int(in.Limit))
|
|
||||||
var limit string
|
|
||||||
if judgeLimit != "0" {
|
|
||||||
limit = strconv.Itoa(int(in.Limit))
|
|
||||||
} else {
|
|
||||||
limit = "10"
|
|
||||||
}
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
token := common.GetToken()
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, modelArtsUrl+"v2/"+projectId+"/datasets?offset="+offset+"&"+"limit="+limit, strings.NewReader(``), token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if statusCode == 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/datasets?offset="+offset+"&"+"limit="+limit,
|
|
||||||
nil)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
//return
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,106 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
/*
|
|
||||||
desc: "AI core微服务"
|
|
||||||
author: "xie"
|
|
||||||
*/
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
"strconv"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type GetExportTasksOfDatasetLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewGetExportTasksOfDatasetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetExportTasksOfDatasetLogic {
|
|
||||||
return &GetExportTasksOfDatasetLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//type Pppp struct {
|
|
||||||
// TotalCount int `json:"total_count"`
|
|
||||||
// ExportTasks []*Modelarts.ExportTaskStatus `json:"export_tasks"`
|
|
||||||
//}
|
|
||||||
|
|
||||||
func (l *GetExportTasksOfDatasetLogic) GetExportTasksOfDataset(in *modelarts.GetExportTasksOfDatasetReq) (*modelarts.GetExportTasksOfDatasetResp, error) {
|
|
||||||
var resp modelarts.GetExportTasksOfDatasetResp
|
|
||||||
offset := strconv.Itoa(int(in.Offset))
|
|
||||||
judgeLimit := strconv.Itoa(int(in.Limit))
|
|
||||||
var limit string
|
|
||||||
if judgeLimit != "0" {
|
|
||||||
limit = strconv.Itoa(int(in.Limit))
|
|
||||||
} else {
|
|
||||||
limit = "10"
|
|
||||||
}
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v2/" + in.ProjectId + "/datasets/" + in.DatasetId + "/export-tasks?limit=" + limit + "&offset=" + offset
|
|
||||||
token := common.GetToken()
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, url, nil, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if statusCode == 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 202 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/datasets/"+in.DatasetId+"/export-tasks?limit="+limit+"&offset="+offset,
|
|
||||||
nil)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
//return
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &resp, nil
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,94 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
/*
|
|
||||||
desc: "AI core微服务"
|
|
||||||
author: "xie"
|
|
||||||
*/
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type GetExportTaskStatusOfDatasetLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewGetExportTaskStatusOfDatasetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetExportTaskStatusOfDatasetLogic {
|
|
||||||
return &GetExportTaskStatusOfDatasetLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *GetExportTaskStatusOfDatasetLogic) GetExportTaskStatusOfDataset(in *modelarts.GetExportTaskStatusOfDatasetReq) (*modelarts.GetExportTaskStatusOfDatasetResp, error) {
|
|
||||||
var resp modelarts.GetExportTaskStatusOfDatasetResp
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v2/" + in.ProjectId + "/datasets/" + in.ResourceId + "/export-tasks/" + in.TaskId
|
|
||||||
token := common.GetToken()
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, url, nil, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
if statusCode == 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/datasets/"+in.ResourceId+"/export-tasks/"+in.TaskId,
|
|
||||||
nil)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
//return
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &resp, nil
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,99 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"log"
|
|
||||||
"net/http"
|
|
||||||
"strconv"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type GetImportTaskListLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewGetImportTaskListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetImportTaskListLogic {
|
|
||||||
return &GetImportTaskListLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// find taskList 查询数据集导入任务列表
|
|
||||||
func (l *GetImportTaskListLogic) GetImportTaskList(in *modelarts.ListImportTasksReq) (*modelarts.ListImportTasksResp, error) {
|
|
||||||
var resp modelarts.ListImportTasksResp
|
|
||||||
judgeLimit := strconv.Itoa(int(in.Limit))
|
|
||||||
offset := strconv.Itoa(int(in.Offset))
|
|
||||||
token := common.GetToken()
|
|
||||||
var limit string
|
|
||||||
if judgeLimit != "0" {
|
|
||||||
limit = strconv.Itoa(int(in.Limit))
|
|
||||||
} else {
|
|
||||||
limit = "10"
|
|
||||||
}
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, modelArtsUrl+"v2/"+in.ProjectId+"/datasets/"+in.DatasetId+"/import-tasks?limit="+limit+"&offset="+offset, strings.NewReader(``), token)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
if statusCode == 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/datasets/"+in.DatasetId+"/import-tasks?limit="+limit+"&offset="+offset,
|
|
||||||
nil)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
//return
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,103 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
"strconv"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type GetListTrainingJobsLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewGetListTrainingJobsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetListTrainingJobsLogic {
|
|
||||||
return &GetListTrainingJobsLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// get ListTrainingJobs1
|
|
||||||
func (l *GetListTrainingJobsLogic) GetListTrainingJobs(in *modelarts.ListTrainingJobsreq) (*modelarts.ListTrainingJobsresp, error) {
|
|
||||||
var resp modelarts.ListTrainingJobsresp
|
|
||||||
judgeLimit := strconv.Itoa(int(in.Limit))
|
|
||||||
offset := strconv.Itoa(int(in.OffSet))
|
|
||||||
var limit string
|
|
||||||
if judgeLimit != "0" {
|
|
||||||
limit = strconv.Itoa(int(in.Limit))
|
|
||||||
} else {
|
|
||||||
limit = "10"
|
|
||||||
}
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v2/" + in.ProjectId + "/training-job-searches?limit=" + limit + "&offset=" + offset
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
payload := strings.NewReader(string(reqByte))
|
|
||||||
token := common.GetToken()
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, url, payload, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if statusCode == 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
for index, _ := range resp.Items {
|
|
||||||
resp.Items[index].ProjectId = in.ProjectId
|
|
||||||
}
|
|
||||||
} else if statusCode != 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
XDomainId := l.svcCtx.Config.XDomainId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/training-job-searches?offset="+offset+"&"+"limit="+limit,
|
|
||||||
nil)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
//return
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("X-Domain-Id", XDomainId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,82 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type GetNotebookStorageLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewGetNotebookStorageLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetNotebookStorageLogic {
|
|
||||||
return &GetNotebookStorageLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *GetNotebookStorageLogic) GetNotebookStorage(in *modelarts.GetNotebookStorageReq) (*modelarts.GetNotebookStorageResp, error) {
|
|
||||||
var resp modelarts.GetNotebookStorageResp
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
getObsUrl := modelArtsUrl + "v1/{project_id}/notebooks/{instance_id}/storage"
|
|
||||||
getObsUrl = strings.Replace(getObsUrl, "{project_id}", in.ProjectId, -1)
|
|
||||||
getObsUrl = strings.Replace(getObsUrl, "{instance_id}", in.InstanceId, -1)
|
|
||||||
token := common.GetToken()
|
|
||||||
var e struct{}
|
|
||||||
|
|
||||||
body, err := tool.HttpClientWithQueries(tool.GET, getObsUrl, nil, token, e)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/notebooks"+in.InstanceId+"/storage",
|
|
||||||
nil)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,68 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"context"
|
|
||||||
"encoding/json"
|
|
||||||
"io/ioutil"
|
|
||||||
"log"
|
|
||||||
"net/http"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type GetTokenLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewGetTokenLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetTokenLogic {
|
|
||||||
return &GetTokenLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// getToken
|
|
||||||
func (l *GetTokenLogic) GetToken(in *modelarts.TokenReq) (*modelarts.TokenResp, error) {
|
|
||||||
// todo: add your logic here and delete this line
|
|
||||||
|
|
||||||
var resp modelarts.TokenResp
|
|
||||||
TokenUrl := "v3/auth/tokens"
|
|
||||||
|
|
||||||
jsonStr, _ := json.Marshal(in)
|
|
||||||
reqUrl, err := http.NewRequest("POST", "https://iam.cn-north-4.myhuaweicloud.com/"+TokenUrl, bytes.NewBuffer(jsonStr))
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
defer reqUrl.Body.Close()
|
|
||||||
|
|
||||||
c := http.Client{Timeout: time.Duration(3) * time.Second}
|
|
||||||
|
|
||||||
respUrl, err := c.Do(reqUrl)
|
|
||||||
|
|
||||||
print(respUrl)
|
|
||||||
|
|
||||||
defer respUrl.Body.Close()
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
result, _ := ioutil.ReadAll(respUrl.Body)
|
|
||||||
json.Unmarshal([]byte(string(result)), &resp)
|
|
||||||
|
|
||||||
//X-Auth-Token := respUrl.Header().Get("X-Subject-Token")
|
|
||||||
|
|
||||||
//return resp, nil
|
|
||||||
|
|
||||||
return &modelarts.TokenResp{}, nil
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,88 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type GetTrainingJobFlavorsLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewGetTrainingJobFlavorsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetTrainingJobFlavorsLogic {
|
|
||||||
return &GetTrainingJobFlavorsLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// training-job-flavors 获取训练作业支持的公共规格
|
|
||||||
func (l *GetTrainingJobFlavorsLogic) GetTrainingJobFlavors(in *modelarts.TrainingJobFlavorsReq) (*modelarts.TrainingJobFlavorsResp, error) {
|
|
||||||
// todo: add your logic here and delete this line
|
|
||||||
var resp modelarts.TrainingJobFlavorsResp
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v2/" + in.ProjectId + "/training-job-flavors?flavor_type=" + in.FlavorType
|
|
||||||
token := common.GetToken()
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, url, nil, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if statusCode == 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
XDomainId := l.svcCtx.Config.XDomainId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/training-job-flavors?flavor_type="+in.FlavorType,
|
|
||||||
nil)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("X-Domain-Id", XDomainId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,83 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type GetVisualizationJobLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewGetVisualizationJobLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetVisualizationJobLogic {
|
|
||||||
return &GetVisualizationJobLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// visualization-jobs
|
|
||||||
func (l *GetVisualizationJobLogic) GetVisualizationJob(in *modelarts.GetVisualizationJobReq) (*modelarts.GetVisualizationJobResp, error) {
|
|
||||||
var resp modelarts.GetVisualizationJobResp
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
getVisualJobUrl := modelArtsUrl + "v1/{project_id}/visualization-jobs"
|
|
||||||
getVisualJobUrl = strings.Replace(getVisualJobUrl, "{project_id}", in.ProjectId, -1)
|
|
||||||
|
|
||||||
token := common.GetToken()
|
|
||||||
|
|
||||||
body, err := tool.HttpClientWithQueries(tool.GET, getVisualJobUrl, nil, token, in.Param)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/visualization-jobs",
|
|
||||||
nil)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
//return
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,96 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"bytes"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
"strconv"
|
|
||||||
)
|
|
||||||
|
|
||||||
type ListAlgorithmsLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewListAlgorithmsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListAlgorithmsLogic {
|
|
||||||
return &ListAlgorithmsLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ListAlgorithms 查询算法
|
|
||||||
func (l *ListAlgorithmsLogic) ListAlgorithms(in *modelarts.ListAlgorithmsReq) (*modelarts.ListAlgorithmsResp, error) {
|
|
||||||
var resp modelarts.ListAlgorithmsResp
|
|
||||||
offset := strconv.Itoa(int(in.Offset))
|
|
||||||
judgeLimit := strconv.Itoa(int(in.Limit))
|
|
||||||
var limit string
|
|
||||||
if judgeLimit != "0" {
|
|
||||||
limit = strconv.Itoa(int(in.Limit))
|
|
||||||
} else {
|
|
||||||
limit = "10"
|
|
||||||
}
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v2/" + in.ProjectId + "/algorithms?offset=" + offset + "&" + "limit=" + limit
|
|
||||||
token := common.GetToken()
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, url, nil, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if statusCode == 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/algorithms?offset="+offset+"&"+"limit="+limit,
|
|
||||||
bytes.NewBuffer([]byte("foo=bar")))
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
//return
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,98 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
/*
|
|
||||||
desc: "AI core微服务"
|
|
||||||
author: "xie"
|
|
||||||
*/
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
"strconv"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type ListClustersLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewListClustersLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListClustersLogic {
|
|
||||||
return &ListClustersLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *ListClustersLogic) ListClusters(in *modelarts.ListClustersReq) (*modelarts.ListClustersResp, error) {
|
|
||||||
// todo: add your logic here and delete this line
|
|
||||||
var resp modelarts.ListClustersResp
|
|
||||||
judgeLimit := strconv.Itoa(int(in.Limit))
|
|
||||||
offset := strconv.Itoa(int(in.Offset))
|
|
||||||
var limit string
|
|
||||||
if judgeLimit != "0" {
|
|
||||||
limit = strconv.Itoa(int(in.Limit))
|
|
||||||
} else {
|
|
||||||
limit = "10"
|
|
||||||
}
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v1/" + in.ProjectId + "/clusters?limit=" + limit + "&offset=" + offset
|
|
||||||
token := common.GetToken()
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, url, nil, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
if statusCode == 200 {
|
|
||||||
json.Unmarshal(body, &resp.Resp200)
|
|
||||||
} else {
|
|
||||||
json.Unmarshal(body, &resp.Resp400)
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/clusters?offset="+offset+"&"+"limit="+limit,
|
|
||||||
nil)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
|
|
||||||
}
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,88 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
/*
|
|
||||||
desc: "AI core微服务"
|
|
||||||
author: "xie"
|
|
||||||
*/
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"bytes"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type ListModelsLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewListModelsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListModelsLogic {
|
|
||||||
return &ListModelsLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *ListModelsLogic) ListModels(in *modelarts.ListModelReq) (*modelarts.ListModelResp, error) {
|
|
||||||
// todo: add your logic here and delete this line
|
|
||||||
var resp modelarts.ListModelResp
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v1/" + in.ProjectId + "/models"
|
|
||||||
token := common.GetToken()
|
|
||||||
body, err := tool.HttpClient(tool.GET, url, nil, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
XDomainId := l.svcCtx.Config.XDomainId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/models",
|
|
||||||
bytes.NewBuffer([]byte("foo=bar")))
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
//return
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("X-Domain-Id", XDomainId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,101 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
)
|
|
||||||
|
|
||||||
type ListNotebookLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewListNotebookLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListNotebookLogic {
|
|
||||||
return &ListNotebookLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// notebook task
|
|
||||||
func (l *ListNotebookLogic) ListNotebook(in *modelarts.ListNotebookReq) (*modelarts.ListNotebookResp, error) {
|
|
||||||
resp := &modelarts.ListNotebookResp{}
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
getUrl := modelArtsUrl + "v1/{project_id}/notebooks"
|
|
||||||
|
|
||||||
token := common.GetToken()
|
|
||||||
queryMap := tool.ConvertStructToMap(in.Param)
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
res, err := req.
|
|
||||||
SetHeader("x-auth-token", token).
|
|
||||||
SetPathParam("project_id", in.ProjectId).
|
|
||||||
SetQueryParams(queryMap).
|
|
||||||
SetResult(resp).
|
|
||||||
Get(getUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
if res.StatusCode() != 200 {
|
|
||||||
resp.Code = int32(res.StatusCode())
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
|
|
||||||
var errMsg common.Error
|
|
||||||
err := json.Unmarshal(res.Body(), &errMsg)
|
|
||||||
if err != nil {
|
|
||||||
errMsg.ErrorMsg = ""
|
|
||||||
}
|
|
||||||
resp.ErrorMsg = errMsg.ErrorMsg
|
|
||||||
} else {
|
|
||||||
resp.Code = int32(res.StatusCode())
|
|
||||||
resp.Msg = "Success"
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/notebooks",
|
|
||||||
nil)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,99 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
/*
|
|
||||||
desc: "AI core微服务"
|
|
||||||
author: "xie"
|
|
||||||
*/
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"bytes"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
"strconv"
|
|
||||||
)
|
|
||||||
|
|
||||||
type ListServicesLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewListServicesLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListServicesLogic {
|
|
||||||
return &ListServicesLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *ListServicesLogic) ListServices(in *modelarts.ListServicesReq) (*modelarts.ListServicesResp, error) {
|
|
||||||
var resp modelarts.ListServicesResp
|
|
||||||
judgeLimit := strconv.Itoa(int(in.Limit))
|
|
||||||
offset := strconv.Itoa(int(in.OffSet))
|
|
||||||
var limit string
|
|
||||||
if judgeLimit != "0" {
|
|
||||||
limit = strconv.Itoa(int(in.Limit))
|
|
||||||
} else {
|
|
||||||
limit = "10"
|
|
||||||
}
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v1/" + in.ProjectId + "/services?limit=" + limit + "&offset=" + offset
|
|
||||||
token := common.GetToken()
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, url, nil, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if statusCode == 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/services?offset="+offset+"&"+"limit="+limit,
|
|
||||||
bytes.NewBuffer([]byte("foo=bar")))
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
//return
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,85 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"bytes"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"github.com/bitly/go-simplejson"
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
"strconv"
|
|
||||||
)
|
|
||||||
|
|
||||||
type ListTrainingJobConfigLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewListTrainingJobConfigLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListTrainingJobConfigLogic {
|
|
||||||
return &ListTrainingJobConfigLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ListTrainingJobConfig 查询训练作业参数
|
|
||||||
func (l *ListTrainingJobConfigLogic) ListTrainingJobConfig(in *modelarts.ListTrainingJobConfigReq) (*modelarts.ListTrainingJobConfigResp, error) {
|
|
||||||
var resp modelarts.ListTrainingJobConfigResp
|
|
||||||
perPage := strconv.Itoa(int(in.PerPage))
|
|
||||||
page := strconv.Itoa(int(in.Page))
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v1/" + in.ProjectId + "/training-job-configs?" + perPage + "&" + page
|
|
||||||
token := common.GetToken()
|
|
||||||
body, err := tool.HttpClient(tool.GET, url, nil, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
jsonResult, err := simplejson.NewJson(body)
|
|
||||||
println(&jsonResult)
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/training-job-configs?"+perPage+"&"+page,
|
|
||||||
bytes.NewBuffer([]byte("foo=bar")))
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
//return
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,87 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"bytes"
|
|
||||||
"context"
|
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type MountNotebookStorageLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewMountNotebookStorageLogic(ctx context.Context, svcCtx *svc.ServiceContext) *MountNotebookStorageLogic {
|
|
||||||
return &MountNotebookStorageLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *MountNotebookStorageLogic) MountNotebookStorage(in *modelarts.MountNotebookStorageReq) (*modelarts.MountNotebookStorageResp, error) {
|
|
||||||
var resp modelarts.MountNotebookStorageResp
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
mountUrl := modelArtsUrl + "v1/{project_id}/notebooks/{instance_id}/storage"
|
|
||||||
mountUrl = strings.Replace(mountUrl, "{project_id}", in.ProjectId, -1)
|
|
||||||
mountUrl = strings.Replace(mountUrl, "{instance_id}", in.InstanceId, -1)
|
|
||||||
reqByte, err := json.Marshal(in.Param)
|
|
||||||
if err != nil {
|
|
||||||
panic(err.Error())
|
|
||||||
}
|
|
||||||
payload := strings.NewReader(string(reqByte))
|
|
||||||
token := common.GetToken()
|
|
||||||
body, err := tool.HttpClient(tool.POST, mountUrl, payload, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/notebooks"+in.InstanceId+"/storage",
|
|
||||||
bytes.NewBuffer(reqByte))
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,91 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"bytes"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type ShowAlgorithmByUuidLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewShowAlgorithmByUuidLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ShowAlgorithmByUuidLogic {
|
|
||||||
return &ShowAlgorithmByUuidLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ShowAlgorithmByUuid 展示算法详情
|
|
||||||
func (l *ShowAlgorithmByUuidLogic) ShowAlgorithmByUuid(in *modelarts.ShowAlgorithmByUuidReq) (*modelarts.ShowAlgorithmByUuidResp, error) {
|
|
||||||
var resp modelarts.ShowAlgorithmByUuidResp
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v2/" + in.ProjectId + "/algorithms/" + in.AlgorithmId
|
|
||||||
token := common.GetToken()
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, url, nil, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if statusCode == 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
XDomainId := l.svcCtx.Config.XDomainId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v2/"+in.ProjectId+"/algorithms/"+in.AlgorithmId,
|
|
||||||
bytes.NewBuffer([]byte("foo=bar")))
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
//return
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("X-Domain-Id", XDomainId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,83 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
/*
|
|
||||||
desc: "AI core微服务"
|
|
||||||
author: "xie"
|
|
||||||
*/
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type ShowModelsLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewShowModelsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ShowModelsLogic {
|
|
||||||
return &ShowModelsLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *ShowModelsLogic) ShowModels(in *modelarts.ShowModelReq) (*modelarts.ShowModelResp, error) {
|
|
||||||
// todo: add your logic here and delete this line
|
|
||||||
var resp modelarts.ShowModelResp
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v1/" + in.ProjectId + "/models/" + in.ModelId
|
|
||||||
token := common.GetToken()
|
|
||||||
body, err := tool.HttpClient(tool.GET, url, nil, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/models/"+in.ModelId,
|
|
||||||
nil)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,91 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
/*
|
|
||||||
desc: "AI core微服务"
|
|
||||||
author: "xie"
|
|
||||||
*/
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type ShowServiceLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewShowServiceLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ShowServiceLogic {
|
|
||||||
return &ShowServiceLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *ShowServiceLogic) ShowService(in *modelarts.ShowServiceReq) (*modelarts.ShowServiceResp, error) {
|
|
||||||
// todo: add your logic here and delete this line
|
|
||||||
var resp modelarts.ShowServiceResp
|
|
||||||
//根据智算类型判断走华为智算还是南京智算
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
url := modelArtsUrl + "v1/" + in.ProjectId + "/services/" + in.ServiceId
|
|
||||||
token := common.GetToken()
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, url, nil, token)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if statusCode == 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 200
|
|
||||||
resp.Msg = "Success"
|
|
||||||
} else if statusCode != 200 {
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
resp.Code = 400
|
|
||||||
resp.Msg = "Failure"
|
|
||||||
}
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
r, err := http.NewRequest("GET", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/services/"+in.ServiceId,
|
|
||||||
nil)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,82 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"bytes"
|
|
||||||
"context"
|
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type StartNotebookLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewStartNotebookLogic(ctx context.Context, svcCtx *svc.ServiceContext) *StartNotebookLogic {
|
|
||||||
return &StartNotebookLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *StartNotebookLogic) StartNotebook(in *modelarts.StartNotebookReq) (*modelarts.StartNotebookResp, error) {
|
|
||||||
var resp modelarts.StartNotebookResp
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
startUrl := modelArtsUrl + "v1/{project_id}/notebooks/{id}/start"
|
|
||||||
startUrl = strings.Replace(startUrl, "{project_id}", in.ProjectId, -1)
|
|
||||||
startUrl = strings.Replace(startUrl, "{id}", in.Id, -1)
|
|
||||||
token := common.GetToken()
|
|
||||||
body, err := tool.HttpClientWithQueries(tool.POST, startUrl, nil, token, in.Param)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp.NotebookResp)
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/notebooks"+in.Id+"/start",
|
|
||||||
bytes.NewBuffer(reqByte))
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,83 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"bytes"
|
|
||||||
"context"
|
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
|
||||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
|
||||||
"io/ioutil"
|
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type StopNotebookLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewStopNotebookLogic(ctx context.Context, svcCtx *svc.ServiceContext) *StopNotebookLogic {
|
|
||||||
return &StopNotebookLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *StopNotebookLogic) StopNotebook(in *modelarts.StopNotebookReq) (*modelarts.StopNotebookResp, error) {
|
|
||||||
var resp modelarts.StopNotebookResp
|
|
||||||
modelArtsType := in.ModelArtsType
|
|
||||||
if modelArtsType == l.svcCtx.Config.HaweiModelArtsType {
|
|
||||||
modelArtsUrl := l.svcCtx.Config.ModelArtsUrl
|
|
||||||
stopUrl := modelArtsUrl + "v1/{project_id}/notebooks/{id}/stop"
|
|
||||||
stopUrl = strings.Replace(stopUrl, "{project_id}", in.ProjectId, -1)
|
|
||||||
stopUrl = strings.Replace(stopUrl, "{id}", in.Id, -1)
|
|
||||||
token := common.GetToken()
|
|
||||||
//empty struct
|
|
||||||
var e struct{}
|
|
||||||
body, err := tool.HttpClientWithQueries(tool.POST, stopUrl, nil, token, e)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp.NotebookResp)
|
|
||||||
} else if modelArtsType == l.svcCtx.Config.NanjingModelArtsType {
|
|
||||||
AK := l.svcCtx.Config.AK
|
|
||||||
SK := l.svcCtx.Config.SK
|
|
||||||
NanjingModelArtsUrl := l.svcCtx.Config.NanjingModelArtsUrl
|
|
||||||
XProjectId := l.svcCtx.Config.XProjectId
|
|
||||||
s := core.Signer{
|
|
||||||
Key: AK,
|
|
||||||
Secret: SK,
|
|
||||||
}
|
|
||||||
reqByte, err := json.Marshal(in)
|
|
||||||
r, err := http.NewRequest("POST", NanjingModelArtsUrl+"v1/"+in.ProjectId+"/notebooks"+in.Id+"/stop",
|
|
||||||
bytes.NewBuffer(reqByte))
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
|
||||||
r.Header.Add("X-Project-Id", XProjectId)
|
|
||||||
r.Header.Add("x-stage", "RELEASE")
|
|
||||||
s.Sign(r)
|
|
||||||
client := http.DefaultClient
|
|
||||||
res, err := client.Do(r)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := ioutil.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
json.Unmarshal(body, &resp)
|
|
||||||
}
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
|
@ -1,247 +0,0 @@
|
||||||
// Code generated by goctl. DO NOT EDIT.
|
|
||||||
// Source: pcm-modelarts.proto
|
|
||||||
|
|
||||||
package server
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/logic"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
)
|
|
||||||
|
|
||||||
type ModelArtsServer struct {
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
modelarts.UnimplementedModelArtsServer
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewModelArtsServer(svcCtx *svc.ServiceContext) *ModelArtsServer {
|
|
||||||
return &ModelArtsServer{
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// get modelarts Token
|
|
||||||
func (s *ModelArtsServer) GetToken(ctx context.Context, in *modelarts.TokenReq) (*modelarts.TokenResp, error) {
|
|
||||||
l := logic.NewGetTokenLogic(ctx, s.svcCtx)
|
|
||||||
return l.GetToken(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// get modelarts Token
|
|
||||||
func (s *ModelArtsServer) GetDatasetList(ctx context.Context, in *modelarts.DataSetReq) (*modelarts.DataSetResp, error) {
|
|
||||||
l := logic.NewGetDatasetListLogic(ctx, s.svcCtx)
|
|
||||||
return l.GetDatasetList(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// create DateSet
|
|
||||||
func (s *ModelArtsServer) CreateDataSet(ctx context.Context, in *modelarts.CreateDataSetReq) (*modelarts.CreateDataSetResq, error) {
|
|
||||||
l := logic.NewCreateDataSetLogic(ctx, s.svcCtx)
|
|
||||||
return l.CreateDataSet(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// create DateSet
|
|
||||||
func (s *ModelArtsServer) DeleteDataSet(ctx context.Context, in *modelarts.DeleteDataSetReq) (*modelarts.DeleteDataSetResq, error) {
|
|
||||||
l := logic.NewDeleteDataSetLogic(ctx, s.svcCtx)
|
|
||||||
return l.DeleteDataSet(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// creat task 创建导入任务
|
|
||||||
func (s *ModelArtsServer) CreateTask(ctx context.Context, in *modelarts.ImportTaskDataReq) (*modelarts.ImportTaskDataResp, error) {
|
|
||||||
l := logic.NewCreateTaskLogic(ctx, s.svcCtx)
|
|
||||||
return l.CreateTask(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// get taskList 查询数据集导入任务列表
|
|
||||||
func (s *ModelArtsServer) GetImportTaskList(ctx context.Context, in *modelarts.ListImportTasksReq) (*modelarts.ListImportTasksResp, error) {
|
|
||||||
l := logic.NewGetImportTaskListLogic(ctx, s.svcCtx)
|
|
||||||
return l.GetImportTaskList(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ListTrainingJobs 查询训练作业列表
|
|
||||||
func (s *ModelArtsServer) GetListTrainingJobs(ctx context.Context, in *modelarts.ListTrainingJobsreq) (*modelarts.ListTrainingJobsresp, error) {
|
|
||||||
l := logic.NewGetListTrainingJobsLogic(ctx, s.svcCtx)
|
|
||||||
return l.GetListTrainingJobs(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// CreateTrainingJob 创建训练作业
|
|
||||||
func (s *ModelArtsServer) CreateTrainingJob(ctx context.Context, in *modelarts.CreateTrainingJobReq) (*modelarts.CreateTrainingJobResp, error) {
|
|
||||||
l := logic.NewCreateTrainingJobLogic(ctx, s.svcCtx)
|
|
||||||
return l.CreateTrainingJob(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeleteTrainingJobConfig 删除训练作业
|
|
||||||
func (s *ModelArtsServer) DeleteTrainingJob(ctx context.Context, in *modelarts.DeleteTrainingJobReq) (*modelarts.DeleteTrainingJobResp, error) {
|
|
||||||
l := logic.NewDeleteTrainingJobLogic(ctx, s.svcCtx)
|
|
||||||
return l.DeleteTrainingJob(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// CreateTrainingJobConfig 创建训练作业参数
|
|
||||||
func (s *ModelArtsServer) CreateTrainingJobConfig(ctx context.Context, in *modelarts.CreateTrainingJobConfigReq) (*modelarts.CreateTrainingJobConfigResp, error) {
|
|
||||||
l := logic.NewCreateTrainingJobConfigLogic(ctx, s.svcCtx)
|
|
||||||
return l.CreateTrainingJobConfig(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeleteTrainingJobConfig 删除训练作业参数
|
|
||||||
func (s *ModelArtsServer) DeleteTrainingJobConfig(ctx context.Context, in *modelarts.DeleteTrainingJobConfigReq) (*modelarts.DeleteTrainingJobConfigResp, error) {
|
|
||||||
l := logic.NewDeleteTrainingJobConfigLogic(ctx, s.svcCtx)
|
|
||||||
return l.DeleteTrainingJobConfig(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ListTrainingJobConfig 查询训练作业参数
|
|
||||||
func (s *ModelArtsServer) ListTrainingJobConfig(ctx context.Context, in *modelarts.ListTrainingJobConfigReq) (*modelarts.ListTrainingJobConfigResp, error) {
|
|
||||||
l := logic.NewListTrainingJobConfigLogic(ctx, s.svcCtx)
|
|
||||||
return l.ListTrainingJobConfig(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// CreateAlgorithm 创建算法
|
|
||||||
func (s *ModelArtsServer) CreateAlgorithm(ctx context.Context, in *modelarts.CreateAlgorithmReq) (*modelarts.CreateAlgorithmResp, error) {
|
|
||||||
l := logic.NewCreateAlgorithmLogic(ctx, s.svcCtx)
|
|
||||||
return l.CreateAlgorithm(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ListAlgorithms 查询算法
|
|
||||||
func (s *ModelArtsServer) ListAlgorithms(ctx context.Context, in *modelarts.ListAlgorithmsReq) (*modelarts.ListAlgorithmsResp, error) {
|
|
||||||
l := logic.NewListAlgorithmsLogic(ctx, s.svcCtx)
|
|
||||||
return l.ListAlgorithms(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeleteAlgorithms 删除算法
|
|
||||||
func (s *ModelArtsServer) DeleteAlgorithms(ctx context.Context, in *modelarts.DeleteAlgorithmsReq) (*modelarts.DeleteAlgorithmsResp, error) {
|
|
||||||
l := logic.NewDeleteAlgorithmsLogic(ctx, s.svcCtx)
|
|
||||||
return l.DeleteAlgorithms(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ShowAlgorithmByUuid 展示算法详情
|
|
||||||
func (s *ModelArtsServer) ShowAlgorithmByUuid(ctx context.Context, in *modelarts.ShowAlgorithmByUuidReq) (*modelarts.ShowAlgorithmByUuidResp, error) {
|
|
||||||
l := logic.NewShowAlgorithmByUuidLogic(ctx, s.svcCtx)
|
|
||||||
return l.ShowAlgorithmByUuid(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// training-job-flavors 获取训练作业支持的公共规格
|
|
||||||
func (s *ModelArtsServer) GetTrainingJobFlavors(ctx context.Context, in *modelarts.TrainingJobFlavorsReq) (*modelarts.TrainingJobFlavorsResp, error) {
|
|
||||||
l := logic.NewGetTrainingJobFlavorsLogic(ctx, s.svcCtx)
|
|
||||||
return l.GetTrainingJobFlavors(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// GET ai-engines 查询作业引擎规格
|
|
||||||
func (s *ModelArtsServer) GetAiEnginesList(ctx context.Context, in *modelarts.ListAiEnginesReq) (*modelarts.ListAiEnginesResp, error) {
|
|
||||||
l := logic.NewGetAiEnginesListLogic(ctx, s.svcCtx)
|
|
||||||
return l.GetAiEnginesList(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// export task
|
|
||||||
func (s *ModelArtsServer) ExportTask(ctx context.Context, in *modelarts.ExportTaskReq) (*modelarts.ExportTaskDataResp, error) {
|
|
||||||
l := logic.NewExportTaskLogic(ctx, s.svcCtx)
|
|
||||||
return l.ExportTask(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *ModelArtsServer) GetExportTasksOfDataset(ctx context.Context, in *modelarts.GetExportTasksOfDatasetReq) (*modelarts.GetExportTasksOfDatasetResp, error) {
|
|
||||||
l := logic.NewGetExportTasksOfDatasetLogic(ctx, s.svcCtx)
|
|
||||||
return l.GetExportTasksOfDataset(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *ModelArtsServer) GetExportTaskStatusOfDataset(ctx context.Context, in *modelarts.GetExportTaskStatusOfDatasetReq) (*modelarts.GetExportTaskStatusOfDatasetResp, error) {
|
|
||||||
l := logic.NewGetExportTaskStatusOfDatasetLogic(ctx, s.svcCtx)
|
|
||||||
return l.GetExportTaskStatusOfDataset(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// processor task
|
|
||||||
func (s *ModelArtsServer) CreateProcessorTask(ctx context.Context, in *modelarts.CreateProcessorTaskReq) (*modelarts.CreateProcessorTaskResp, error) {
|
|
||||||
l := logic.NewCreateProcessorTaskLogic(ctx, s.svcCtx)
|
|
||||||
return l.CreateProcessorTask(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *ModelArtsServer) DescribeProcessorTask(ctx context.Context, in *modelarts.DescribeProcessorTaskReq) (*modelarts.DescribeProcessorTaskResp, error) {
|
|
||||||
l := logic.NewDescribeProcessorTaskLogic(ctx, s.svcCtx)
|
|
||||||
return l.DescribeProcessorTask(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// model management
|
|
||||||
func (s *ModelArtsServer) CreateModel(ctx context.Context, in *modelarts.CreateModelReq) (*modelarts.CreateModelResp, error) {
|
|
||||||
l := logic.NewCreateModelLogic(ctx, s.svcCtx)
|
|
||||||
return l.CreateModel(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *ModelArtsServer) DeleteModel(ctx context.Context, in *modelarts.DeleteModelReq) (*modelarts.DeleteModelResp, error) {
|
|
||||||
l := logic.NewDeleteModelLogic(ctx, s.svcCtx)
|
|
||||||
return l.DeleteModel(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *ModelArtsServer) ListModels(ctx context.Context, in *modelarts.ListModelReq) (*modelarts.ListModelResp, error) {
|
|
||||||
l := logic.NewListModelsLogic(ctx, s.svcCtx)
|
|
||||||
return l.ListModels(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *ModelArtsServer) ShowModels(ctx context.Context, in *modelarts.ShowModelReq) (*modelarts.ShowModelResp, error) {
|
|
||||||
l := logic.NewShowModelsLogic(ctx, s.svcCtx)
|
|
||||||
return l.ShowModels(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// service management
|
|
||||||
func (s *ModelArtsServer) CreateService(ctx context.Context, in *modelarts.CreateServiceReq) (*modelarts.CreateServiceResp, error) {
|
|
||||||
l := logic.NewCreateServiceLogic(ctx, s.svcCtx)
|
|
||||||
return l.CreateService(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *ModelArtsServer) ListServices(ctx context.Context, in *modelarts.ListServicesReq) (*modelarts.ListServicesResp, error) {
|
|
||||||
l := logic.NewListServicesLogic(ctx, s.svcCtx)
|
|
||||||
return l.ListServices(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *ModelArtsServer) ShowService(ctx context.Context, in *modelarts.ShowServiceReq) (*modelarts.ShowServiceResp, error) {
|
|
||||||
l := logic.NewShowServiceLogic(ctx, s.svcCtx)
|
|
||||||
return l.ShowService(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *ModelArtsServer) DeleteService(ctx context.Context, in *modelarts.DeleteServiceReq) (*modelarts.DeleteServiceResp, error) {
|
|
||||||
l := logic.NewDeleteServiceLogic(ctx, s.svcCtx)
|
|
||||||
return l.DeleteService(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *ModelArtsServer) ListClusters(ctx context.Context, in *modelarts.ListClustersReq) (*modelarts.ListClustersResp, error) {
|
|
||||||
l := logic.NewListClustersLogic(ctx, s.svcCtx)
|
|
||||||
return l.ListClusters(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// notebook task
|
|
||||||
func (s *ModelArtsServer) ListNotebook(ctx context.Context, in *modelarts.ListNotebookReq) (*modelarts.ListNotebookResp, error) {
|
|
||||||
l := logic.NewListNotebookLogic(ctx, s.svcCtx)
|
|
||||||
return l.ListNotebook(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *ModelArtsServer) CreateNotebook(ctx context.Context, in *modelarts.CreateNotebookReq) (*modelarts.CreateNotebookResp, error) {
|
|
||||||
l := logic.NewCreateNotebookLogic(ctx, s.svcCtx)
|
|
||||||
return l.CreateNotebook(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *ModelArtsServer) StartNotebook(ctx context.Context, in *modelarts.StartNotebookReq) (*modelarts.StartNotebookResp, error) {
|
|
||||||
l := logic.NewStartNotebookLogic(ctx, s.svcCtx)
|
|
||||||
return l.StartNotebook(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *ModelArtsServer) StopNotebook(ctx context.Context, in *modelarts.StopNotebookReq) (*modelarts.StopNotebookResp, error) {
|
|
||||||
l := logic.NewStopNotebookLogic(ctx, s.svcCtx)
|
|
||||||
return l.StopNotebook(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *ModelArtsServer) GetNotebookStorage(ctx context.Context, in *modelarts.GetNotebookStorageReq) (*modelarts.GetNotebookStorageResp, error) {
|
|
||||||
l := logic.NewGetNotebookStorageLogic(ctx, s.svcCtx)
|
|
||||||
return l.GetNotebookStorage(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *ModelArtsServer) MountNotebookStorage(ctx context.Context, in *modelarts.MountNotebookStorageReq) (*modelarts.MountNotebookStorageResp, error) {
|
|
||||||
l := logic.NewMountNotebookStorageLogic(ctx, s.svcCtx)
|
|
||||||
return l.MountNotebookStorage(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
// visualization-jobs
|
|
||||||
func (s *ModelArtsServer) GetVisualizationJob(ctx context.Context, in *modelarts.GetVisualizationJobReq) (*modelarts.GetVisualizationJobResp, error) {
|
|
||||||
l := logic.NewGetVisualizationJobLogic(ctx, s.svcCtx)
|
|
||||||
return l.GetVisualizationJob(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *ModelArtsServer) CreateVisualizationJob(ctx context.Context, in *modelarts.CreateVisualizationJobReq) (*modelarts.CreateVisualizationJobResp, error) {
|
|
||||||
l := logic.NewCreateVisualizationJobLogic(ctx, s.svcCtx)
|
|
||||||
return l.CreateVisualizationJob(in)
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
package svc
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/config"
|
|
||||||
"PCM/adaptor/PCM-CORE/rpc/pcmcoreclient"
|
|
||||||
"github.com/robfig/cron/v3"
|
|
||||||
"github.com/zeromicro/go-zero/zrpc"
|
|
||||||
)
|
|
||||||
|
|
||||||
type ServiceContext struct {
|
|
||||||
Config config.Config
|
|
||||||
Cron *cron.Cron
|
|
||||||
PcmCoreRpc pcmcoreclient.PcmCore
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewServiceContext(c config.Config) *ServiceContext {
|
|
||||||
return &ServiceContext{
|
|
||||||
Config: c,
|
|
||||||
Cron: cron.New(cron.WithSeconds()),
|
|
||||||
PcmCoreRpc: pcmcoreclient.NewPcmCore(zrpc.MustNewClient(c.PcmCoreRpcConf)),
|
|
||||||
}
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,565 +0,0 @@
|
||||||
// Code generated by goctl. DO NOT EDIT.
|
|
||||||
// Source: pcm-modelarts.proto
|
|
||||||
|
|
||||||
package modelartsclient
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/zrpc"
|
|
||||||
"google.golang.org/grpc"
|
|
||||||
)
|
|
||||||
|
|
||||||
type (
|
|
||||||
ActionProgress = modelarts.ActionProgress
|
|
||||||
AdvancedConfigAl = modelarts.AdvancedConfigAl
|
|
||||||
AlgoConfigs = modelarts.AlgoConfigs
|
|
||||||
Algorithm = modelarts.Algorithm
|
|
||||||
AlgorithmResponse = modelarts.AlgorithmResponse
|
|
||||||
Algorithms = modelarts.Algorithms
|
|
||||||
AnnotationFormatConfig = modelarts.AnnotationFormatConfig
|
|
||||||
AttributesAlRq = modelarts.AttributesAlRq
|
|
||||||
Auth = modelarts.Auth
|
|
||||||
AutoSearch = modelarts.AutoSearch
|
|
||||||
AutoSearchAlgoConfigParameter = modelarts.AutoSearchAlgoConfigParameter
|
|
||||||
Billing = modelarts.Billing
|
|
||||||
Children = modelarts.Children
|
|
||||||
Cluster = modelarts.Cluster
|
|
||||||
ClusterNode = modelarts.ClusterNode
|
|
||||||
CodeTree = modelarts.CodeTree
|
|
||||||
Config = modelarts.Config
|
|
||||||
ConfigResponse = modelarts.ConfigResponse
|
|
||||||
Constraint = modelarts.Constraint
|
|
||||||
ConstraintAlRp = modelarts.ConstraintAlRp
|
|
||||||
ConstraintAlRq = modelarts.ConstraintAlRq
|
|
||||||
ConstraintCreateTraining = modelarts.ConstraintCreateTraining
|
|
||||||
ContainerHooks = modelarts.ContainerHooks
|
|
||||||
ContainerHooksResp = modelarts.ContainerHooksResp
|
|
||||||
Cpu = modelarts.Cpu
|
|
||||||
CreateAlgorithmReq = modelarts.CreateAlgorithmReq
|
|
||||||
CreateAlgorithmResp = modelarts.CreateAlgorithmResp
|
|
||||||
CreateDataSetReq = modelarts.CreateDataSetReq
|
|
||||||
CreateDataSetResq = modelarts.CreateDataSetResq
|
|
||||||
CreateModelReq = modelarts.CreateModelReq
|
|
||||||
CreateModelRequestInferParams = modelarts.CreateModelRequestInferParams
|
|
||||||
CreateModelRequestModelApis = modelarts.CreateModelRequestModelApis
|
|
||||||
CreateModelRequestTemplateInput = modelarts.CreateModelRequestTemplateInput
|
|
||||||
CreateModelResp = modelarts.CreateModelResp
|
|
||||||
CreateNotebookParam = modelarts.CreateNotebookParam
|
|
||||||
CreateNotebookReq = modelarts.CreateNotebookReq
|
|
||||||
CreateNotebookResp = modelarts.CreateNotebookResp
|
|
||||||
CreateProcessorTaskReq = modelarts.CreateProcessorTaskReq
|
|
||||||
CreateProcessorTaskResp = modelarts.CreateProcessorTaskResp
|
|
||||||
CreateServiceReq = modelarts.CreateServiceReq
|
|
||||||
CreateServiceResp = modelarts.CreateServiceResp
|
|
||||||
CreateTrainingJobConfigReq = modelarts.CreateTrainingJobConfigReq
|
|
||||||
CreateTrainingJobConfigResp = modelarts.CreateTrainingJobConfigResp
|
|
||||||
CreateTrainingJobReq = modelarts.CreateTrainingJobReq
|
|
||||||
CreateTrainingJobResp = modelarts.CreateTrainingJobResp
|
|
||||||
CreateTrainingJobResp400 = modelarts.CreateTrainingJobResp400
|
|
||||||
CreateVisualizationJobParam = modelarts.CreateVisualizationJobParam
|
|
||||||
CreateVisualizationJobReq = modelarts.CreateVisualizationJobReq
|
|
||||||
CreateVisualizationJobResp = modelarts.CreateVisualizationJobResp
|
|
||||||
CustomHooks = modelarts.CustomHooks
|
|
||||||
CustomSpec = modelarts.CustomSpec
|
|
||||||
DataSetReq = modelarts.DataSetReq
|
|
||||||
DataSetResp = modelarts.DataSetResp
|
|
||||||
DataSets = modelarts.DataSets
|
|
||||||
DataSource = modelarts.DataSource
|
|
||||||
DataSources = modelarts.DataSources
|
|
||||||
DataVolumesRes = modelarts.DataVolumesRes
|
|
||||||
Dataset = modelarts.Dataset
|
|
||||||
DatasetTra = modelarts.DatasetTra
|
|
||||||
DeleteAlgorithmsReq = modelarts.DeleteAlgorithmsReq
|
|
||||||
DeleteAlgorithmsResp = modelarts.DeleteAlgorithmsResp
|
|
||||||
DeleteDataSetReq = modelarts.DeleteDataSetReq
|
|
||||||
DeleteDataSetResq = modelarts.DeleteDataSetResq
|
|
||||||
DeleteModelReq = modelarts.DeleteModelReq
|
|
||||||
DeleteModelResp = modelarts.DeleteModelResp
|
|
||||||
DeleteModelResponseFailedList = modelarts.DeleteModelResponseFailedList
|
|
||||||
DeleteServiceReq = modelarts.DeleteServiceReq
|
|
||||||
DeleteServiceResp = modelarts.DeleteServiceResp
|
|
||||||
DeleteTrainingJobConfigReq = modelarts.DeleteTrainingJobConfigReq
|
|
||||||
DeleteTrainingJobConfigResp = modelarts.DeleteTrainingJobConfigResp
|
|
||||||
DeleteTrainingJobReq = modelarts.DeleteTrainingJobReq
|
|
||||||
DeleteTrainingJobResp = modelarts.DeleteTrainingJobResp
|
|
||||||
DescribeProcessorTaskReq = modelarts.DescribeProcessorTaskReq
|
|
||||||
DescribeProcessorTaskResp = modelarts.DescribeProcessorTaskResp
|
|
||||||
Disk = modelarts.Disk
|
|
||||||
Domain = modelarts.Domain
|
|
||||||
EndpointsReq = modelarts.EndpointsReq
|
|
||||||
EndpointsRes = modelarts.EndpointsRes
|
|
||||||
Engine = modelarts.Engine
|
|
||||||
EngineAlRp = modelarts.EngineAlRp
|
|
||||||
EngineAlRq = modelarts.EngineAlRq
|
|
||||||
EngineCreateTraining = modelarts.EngineCreateTraining
|
|
||||||
Environments = modelarts.Environments
|
|
||||||
ExportParams = modelarts.ExportParams
|
|
||||||
ExportTaskDataResp = modelarts.ExportTaskDataResp
|
|
||||||
ExportTaskReq = modelarts.ExportTaskReq
|
|
||||||
ExportTaskStatus = modelarts.ExportTaskStatus
|
|
||||||
FileStatistics = modelarts.FileStatistics
|
|
||||||
Flavor = modelarts.Flavor
|
|
||||||
FlavorDetail = modelarts.FlavorDetail
|
|
||||||
FlavorInfo = modelarts.FlavorInfo
|
|
||||||
FlavorResponse = modelarts.FlavorResponse
|
|
||||||
GetExportTaskStatusOfDatasetReq = modelarts.GetExportTaskStatusOfDatasetReq
|
|
||||||
GetExportTaskStatusOfDatasetResp = modelarts.GetExportTaskStatusOfDatasetResp
|
|
||||||
GetExportTasksOfDatasetReq = modelarts.GetExportTasksOfDatasetReq
|
|
||||||
GetExportTasksOfDatasetResp = modelarts.GetExportTasksOfDatasetResp
|
|
||||||
GetNotebookStorageReq = modelarts.GetNotebookStorageReq
|
|
||||||
GetNotebookStorageResp = modelarts.GetNotebookStorageResp
|
|
||||||
GetVisualizationJobParam = modelarts.GetVisualizationJobParam
|
|
||||||
GetVisualizationJobReq = modelarts.GetVisualizationJobReq
|
|
||||||
GetVisualizationJobResp = modelarts.GetVisualizationJobResp
|
|
||||||
Gpu = modelarts.Gpu
|
|
||||||
GuideDoc = modelarts.GuideDoc
|
|
||||||
Hooks = modelarts.Hooks
|
|
||||||
I18NDescription = modelarts.I18NDescription
|
|
||||||
Identity = modelarts.Identity
|
|
||||||
Image = modelarts.Image
|
|
||||||
ImageInfo = modelarts.ImageInfo
|
|
||||||
ImportTaskDataReq = modelarts.ImportTaskDataReq
|
|
||||||
ImportTaskDataResp = modelarts.ImportTaskDataResp
|
|
||||||
ImportTasks = modelarts.ImportTasks
|
|
||||||
Input = modelarts.Input
|
|
||||||
InputDataInfo = modelarts.InputDataInfo
|
|
||||||
InputTraining = modelarts.InputTraining
|
|
||||||
Inputs = modelarts.Inputs
|
|
||||||
InputsAlRp = modelarts.InputsAlRp
|
|
||||||
InputsAlRq = modelarts.InputsAlRq
|
|
||||||
Items = modelarts.Items
|
|
||||||
JobAlgorithmResponse = modelarts.JobAlgorithmResponse
|
|
||||||
JobConfigAl = modelarts.JobConfigAl
|
|
||||||
JobConfigAlRq = modelarts.JobConfigAlRq
|
|
||||||
JobMetadata = modelarts.JobMetadata
|
|
||||||
JobProgress = modelarts.JobProgress
|
|
||||||
JobResponse = modelarts.JobResponse
|
|
||||||
Jobs = modelarts.Jobs
|
|
||||||
Lease = modelarts.Lease
|
|
||||||
LeaseReq = modelarts.LeaseReq
|
|
||||||
ListAiEnginesReq = modelarts.ListAiEnginesReq
|
|
||||||
ListAiEnginesResp = modelarts.ListAiEnginesResp
|
|
||||||
ListAlgorithmsReq = modelarts.ListAlgorithmsReq
|
|
||||||
ListAlgorithmsResp = modelarts.ListAlgorithmsResp
|
|
||||||
ListClustersReq = modelarts.ListClustersReq
|
|
||||||
ListClustersResp = modelarts.ListClustersResp
|
|
||||||
ListClustersResp200 = modelarts.ListClustersResp200
|
|
||||||
ListClustersResp400 = modelarts.ListClustersResp400
|
|
||||||
ListImportTasksReq = modelarts.ListImportTasksReq
|
|
||||||
ListImportTasksResp = modelarts.ListImportTasksResp
|
|
||||||
ListModelReq = modelarts.ListModelReq
|
|
||||||
ListModelResp = modelarts.ListModelResp
|
|
||||||
ListNotebookParam = modelarts.ListNotebookParam
|
|
||||||
ListNotebookReq = modelarts.ListNotebookReq
|
|
||||||
ListNotebookResp = modelarts.ListNotebookResp
|
|
||||||
ListServices = modelarts.ListServices
|
|
||||||
ListServicesReq = modelarts.ListServicesReq
|
|
||||||
ListServicesResp = modelarts.ListServicesResp
|
|
||||||
ListTrainingJobConfigReq = modelarts.ListTrainingJobConfigReq
|
|
||||||
ListTrainingJobConfigResp = modelarts.ListTrainingJobConfigResp
|
|
||||||
ListTrainingJobsreq = modelarts.ListTrainingJobsreq
|
|
||||||
ListTrainingJobsresp = modelarts.ListTrainingJobsresp
|
|
||||||
LogExportPath = modelarts.LogExportPath
|
|
||||||
LogExportPathCreateTraining = modelarts.LogExportPathCreateTraining
|
|
||||||
Memory = modelarts.Memory
|
|
||||||
MetadataAlRp = modelarts.MetadataAlRp
|
|
||||||
MetadataAlRq = modelarts.MetadataAlRq
|
|
||||||
MetadataCrAl = modelarts.MetadataCrAl
|
|
||||||
MetadataS = modelarts.MetadataS
|
|
||||||
Methods = modelarts.Methods
|
|
||||||
ModelDependencies = modelarts.ModelDependencies
|
|
||||||
ModelHealth = modelarts.ModelHealth
|
|
||||||
ModelInOutputParams = modelarts.ModelInOutputParams
|
|
||||||
ModelListItem = modelarts.ModelListItem
|
|
||||||
ModelParamsInfo = modelarts.ModelParamsInfo
|
|
||||||
ModelSpecification = modelarts.ModelSpecification
|
|
||||||
MountNotebookStorageParam = modelarts.MountNotebookStorageParam
|
|
||||||
MountNotebookStorageReq = modelarts.MountNotebookStorageReq
|
|
||||||
MountNotebookStorageResp = modelarts.MountNotebookStorageResp
|
|
||||||
Nfs = modelarts.Nfs
|
|
||||||
NotebookResp = modelarts.NotebookResp
|
|
||||||
Npu = modelarts.Npu
|
|
||||||
Obs = modelarts.Obs
|
|
||||||
Obs1 = modelarts.Obs1
|
|
||||||
ObsTra = modelarts.ObsTra
|
|
||||||
OperatorParam = modelarts.OperatorParam
|
|
||||||
Output = modelarts.Output
|
|
||||||
OutputTraining = modelarts.OutputTraining
|
|
||||||
Outputs = modelarts.Outputs
|
|
||||||
OutputsAl = modelarts.OutputsAl
|
|
||||||
OutputsAlRp = modelarts.OutputsAlRp
|
|
||||||
Packages = modelarts.Packages
|
|
||||||
Parameter = modelarts.Parameter
|
|
||||||
ParameterS = modelarts.ParameterS
|
|
||||||
ParametersAlRp = modelarts.ParametersAlRp
|
|
||||||
ParametersAlRq = modelarts.ParametersAlRq
|
|
||||||
ParametersTrainJob = modelarts.ParametersTrainJob
|
|
||||||
Password = modelarts.Password
|
|
||||||
Policies = modelarts.Policies
|
|
||||||
PoliciesCreateTraining = modelarts.PoliciesCreateTraining
|
|
||||||
Pool = modelarts.Pool
|
|
||||||
PostStart = modelarts.PostStart
|
|
||||||
PreStart = modelarts.PreStart
|
|
||||||
ProcessorDataSource = modelarts.ProcessorDataSource
|
|
||||||
Project = modelarts.Project
|
|
||||||
QueryServiceConfig = modelarts.QueryServiceConfig
|
|
||||||
Remote = modelarts.Remote
|
|
||||||
RemoteConstraint = modelarts.RemoteConstraint
|
|
||||||
RemoteConstraints = modelarts.RemoteConstraints
|
|
||||||
RemoteOut = modelarts.RemoteOut
|
|
||||||
RemoteTra = modelarts.RemoteTra
|
|
||||||
Resource = modelarts.Resource
|
|
||||||
ResourceCreateTraining = modelarts.ResourceCreateTraining
|
|
||||||
ResourceRequirements = modelarts.ResourceRequirements
|
|
||||||
RewardAttrs = modelarts.RewardAttrs
|
|
||||||
Schedule = modelarts.Schedule
|
|
||||||
Scheduler = modelarts.Scheduler
|
|
||||||
SchemaMaps = modelarts.SchemaMaps
|
|
||||||
Scope = modelarts.Scope
|
|
||||||
SearchCondition = modelarts.SearchCondition
|
|
||||||
SearchLabel = modelarts.SearchLabel
|
|
||||||
SearchLabels = modelarts.SearchLabels
|
|
||||||
SearchParams = modelarts.SearchParams
|
|
||||||
SearchProp = modelarts.SearchProp
|
|
||||||
ServiceConfig = modelarts.ServiceConfig
|
|
||||||
ShareInfo = modelarts.ShareInfo
|
|
||||||
ShareInfoAlRp = modelarts.ShareInfoAlRp
|
|
||||||
ShowAlgorithmByUuidReq = modelarts.ShowAlgorithmByUuidReq
|
|
||||||
ShowAlgorithmByUuidResp = modelarts.ShowAlgorithmByUuidResp
|
|
||||||
ShowModelReq = modelarts.ShowModelReq
|
|
||||||
ShowModelResp = modelarts.ShowModelResp
|
|
||||||
ShowServiceReq = modelarts.ShowServiceReq
|
|
||||||
ShowServiceResp = modelarts.ShowServiceResp
|
|
||||||
SourceInfo = modelarts.SourceInfo
|
|
||||||
Spec = modelarts.Spec
|
|
||||||
Specs = modelarts.Specs
|
|
||||||
SpecsC = modelarts.SpecsC
|
|
||||||
StartNotebookParam = modelarts.StartNotebookParam
|
|
||||||
StartNotebookReq = modelarts.StartNotebookReq
|
|
||||||
StartNotebookResp = modelarts.StartNotebookResp
|
|
||||||
Status = modelarts.Status
|
|
||||||
StopNotebookReq = modelarts.StopNotebookReq
|
|
||||||
StopNotebookResp = modelarts.StopNotebookResp
|
|
||||||
Tags = modelarts.Tags
|
|
||||||
TagsAlRp = modelarts.TagsAlRp
|
|
||||||
TaskResponse = modelarts.TaskResponse
|
|
||||||
TaskStatuses = modelarts.TaskStatuses
|
|
||||||
Template = modelarts.Template
|
|
||||||
TemplateParam = modelarts.TemplateParam
|
|
||||||
TokenReq = modelarts.TokenReq
|
|
||||||
TokenResp = modelarts.TokenResp
|
|
||||||
TrainingJobFlavorsReq = modelarts.TrainingJobFlavorsReq
|
|
||||||
TrainingJobFlavorsResp = modelarts.TrainingJobFlavorsResp
|
|
||||||
User = modelarts.User
|
|
||||||
UserNotebookDomain = modelarts.UserNotebookDomain
|
|
||||||
UserNotebookResp = modelarts.UserNotebookResp
|
|
||||||
VolumeReq = modelarts.VolumeReq
|
|
||||||
VolumeRes = modelarts.VolumeRes
|
|
||||||
Volumes = modelarts.Volumes
|
|
||||||
Weigou = modelarts.Weigou
|
|
||||||
WorkPath = modelarts.WorkPath
|
|
||||||
|
|
||||||
ModelArts interface {
|
|
||||||
// get modelarts Token
|
|
||||||
GetToken(ctx context.Context, in *TokenReq, opts ...grpc.CallOption) (*TokenResp, error)
|
|
||||||
// get modelarts Token
|
|
||||||
GetDatasetList(ctx context.Context, in *DataSetReq, opts ...grpc.CallOption) (*DataSetResp, error)
|
|
||||||
// create DateSet
|
|
||||||
CreateDataSet(ctx context.Context, in *CreateDataSetReq, opts ...grpc.CallOption) (*CreateDataSetResq, error)
|
|
||||||
// create DateSet
|
|
||||||
DeleteDataSet(ctx context.Context, in *DeleteDataSetReq, opts ...grpc.CallOption) (*DeleteDataSetResq, error)
|
|
||||||
// creat task 创建导入任务
|
|
||||||
CreateTask(ctx context.Context, in *ImportTaskDataReq, opts ...grpc.CallOption) (*ImportTaskDataResp, error)
|
|
||||||
// get taskList 查询数据集导入任务列表
|
|
||||||
GetImportTaskList(ctx context.Context, in *ListImportTasksReq, opts ...grpc.CallOption) (*ListImportTasksResp, error)
|
|
||||||
// ListTrainingJobs 查询训练作业列表
|
|
||||||
GetListTrainingJobs(ctx context.Context, in *ListTrainingJobsreq, opts ...grpc.CallOption) (*ListTrainingJobsresp, error)
|
|
||||||
// CreateTrainingJob 创建训练作业
|
|
||||||
CreateTrainingJob(ctx context.Context, in *CreateTrainingJobReq, opts ...grpc.CallOption) (*CreateTrainingJobResp, error)
|
|
||||||
// DeleteTrainingJobConfig 删除训练作业
|
|
||||||
DeleteTrainingJob(ctx context.Context, in *DeleteTrainingJobReq, opts ...grpc.CallOption) (*DeleteTrainingJobResp, error)
|
|
||||||
// CreateTrainingJobConfig 创建训练作业参数
|
|
||||||
CreateTrainingJobConfig(ctx context.Context, in *CreateTrainingJobConfigReq, opts ...grpc.CallOption) (*CreateTrainingJobConfigResp, error)
|
|
||||||
// DeleteTrainingJobConfig 删除训练作业参数
|
|
||||||
DeleteTrainingJobConfig(ctx context.Context, in *DeleteTrainingJobConfigReq, opts ...grpc.CallOption) (*DeleteTrainingJobConfigResp, error)
|
|
||||||
// ListTrainingJobConfig 查询训练作业参数
|
|
||||||
ListTrainingJobConfig(ctx context.Context, in *ListTrainingJobConfigReq, opts ...grpc.CallOption) (*ListTrainingJobConfigResp, error)
|
|
||||||
// CreateAlgorithm 创建算法
|
|
||||||
CreateAlgorithm(ctx context.Context, in *CreateAlgorithmReq, opts ...grpc.CallOption) (*CreateAlgorithmResp, error)
|
|
||||||
// ListAlgorithms 查询算法
|
|
||||||
ListAlgorithms(ctx context.Context, in *ListAlgorithmsReq, opts ...grpc.CallOption) (*ListAlgorithmsResp, error)
|
|
||||||
// DeleteAlgorithms 删除算法
|
|
||||||
DeleteAlgorithms(ctx context.Context, in *DeleteAlgorithmsReq, opts ...grpc.CallOption) (*DeleteAlgorithmsResp, error)
|
|
||||||
// ShowAlgorithmByUuid 展示算法详情
|
|
||||||
ShowAlgorithmByUuid(ctx context.Context, in *ShowAlgorithmByUuidReq, opts ...grpc.CallOption) (*ShowAlgorithmByUuidResp, error)
|
|
||||||
// training-job-flavors 获取训练作业支持的公共规格
|
|
||||||
GetTrainingJobFlavors(ctx context.Context, in *TrainingJobFlavorsReq, opts ...grpc.CallOption) (*TrainingJobFlavorsResp, error)
|
|
||||||
// GET ai-engines 查询作业引擎规格
|
|
||||||
GetAiEnginesList(ctx context.Context, in *ListAiEnginesReq, opts ...grpc.CallOption) (*ListAiEnginesResp, error)
|
|
||||||
// export task
|
|
||||||
ExportTask(ctx context.Context, in *ExportTaskReq, opts ...grpc.CallOption) (*ExportTaskDataResp, error)
|
|
||||||
GetExportTasksOfDataset(ctx context.Context, in *GetExportTasksOfDatasetReq, opts ...grpc.CallOption) (*GetExportTasksOfDatasetResp, error)
|
|
||||||
GetExportTaskStatusOfDataset(ctx context.Context, in *GetExportTaskStatusOfDatasetReq, opts ...grpc.CallOption) (*GetExportTaskStatusOfDatasetResp, error)
|
|
||||||
// processor task
|
|
||||||
CreateProcessorTask(ctx context.Context, in *CreateProcessorTaskReq, opts ...grpc.CallOption) (*CreateProcessorTaskResp, error)
|
|
||||||
DescribeProcessorTask(ctx context.Context, in *DescribeProcessorTaskReq, opts ...grpc.CallOption) (*DescribeProcessorTaskResp, error)
|
|
||||||
// model management
|
|
||||||
CreateModel(ctx context.Context, in *CreateModelReq, opts ...grpc.CallOption) (*CreateModelResp, error)
|
|
||||||
DeleteModel(ctx context.Context, in *DeleteModelReq, opts ...grpc.CallOption) (*DeleteModelResp, error)
|
|
||||||
ListModels(ctx context.Context, in *ListModelReq, opts ...grpc.CallOption) (*ListModelResp, error)
|
|
||||||
ShowModels(ctx context.Context, in *ShowModelReq, opts ...grpc.CallOption) (*ShowModelResp, error)
|
|
||||||
// service management
|
|
||||||
CreateService(ctx context.Context, in *CreateServiceReq, opts ...grpc.CallOption) (*CreateServiceResp, error)
|
|
||||||
ListServices(ctx context.Context, in *ListServicesReq, opts ...grpc.CallOption) (*ListServicesResp, error)
|
|
||||||
ShowService(ctx context.Context, in *ShowServiceReq, opts ...grpc.CallOption) (*ShowServiceResp, error)
|
|
||||||
DeleteService(ctx context.Context, in *DeleteServiceReq, opts ...grpc.CallOption) (*DeleteServiceResp, error)
|
|
||||||
ListClusters(ctx context.Context, in *ListClustersReq, opts ...grpc.CallOption) (*ListClustersResp, error)
|
|
||||||
// notebook task
|
|
||||||
ListNotebook(ctx context.Context, in *ListNotebookReq, opts ...grpc.CallOption) (*ListNotebookResp, error)
|
|
||||||
CreateNotebook(ctx context.Context, in *CreateNotebookReq, opts ...grpc.CallOption) (*CreateNotebookResp, error)
|
|
||||||
StartNotebook(ctx context.Context, in *StartNotebookReq, opts ...grpc.CallOption) (*StartNotebookResp, error)
|
|
||||||
StopNotebook(ctx context.Context, in *StopNotebookReq, opts ...grpc.CallOption) (*StopNotebookResp, error)
|
|
||||||
GetNotebookStorage(ctx context.Context, in *GetNotebookStorageReq, opts ...grpc.CallOption) (*GetNotebookStorageResp, error)
|
|
||||||
MountNotebookStorage(ctx context.Context, in *MountNotebookStorageReq, opts ...grpc.CallOption) (*MountNotebookStorageResp, error)
|
|
||||||
// visualization-jobs
|
|
||||||
GetVisualizationJob(ctx context.Context, in *GetVisualizationJobReq, opts ...grpc.CallOption) (*GetVisualizationJobResp, error)
|
|
||||||
CreateVisualizationJob(ctx context.Context, in *CreateVisualizationJobReq, opts ...grpc.CallOption) (*CreateVisualizationJobResp, error)
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultModelArts struct {
|
|
||||||
cli zrpc.Client
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
func NewModelArts(cli zrpc.Client) ModelArts {
|
|
||||||
return &defaultModelArts{
|
|
||||||
cli: cli,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// get modelarts Token
|
|
||||||
func (m *defaultModelArts) GetToken(ctx context.Context, in *TokenReq, opts ...grpc.CallOption) (*TokenResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.GetToken(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// get modelarts Token
|
|
||||||
func (m *defaultModelArts) GetDatasetList(ctx context.Context, in *DataSetReq, opts ...grpc.CallOption) (*DataSetResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.GetDatasetList(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// create DateSet
|
|
||||||
func (m *defaultModelArts) CreateDataSet(ctx context.Context, in *CreateDataSetReq, opts ...grpc.CallOption) (*CreateDataSetResq, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.CreateDataSet(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// create DateSet
|
|
||||||
func (m *defaultModelArts) DeleteDataSet(ctx context.Context, in *DeleteDataSetReq, opts ...grpc.CallOption) (*DeleteDataSetResq, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.DeleteDataSet(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// creat task 创建导入任务
|
|
||||||
func (m *defaultModelArts) CreateTask(ctx context.Context, in *ImportTaskDataReq, opts ...grpc.CallOption) (*ImportTaskDataResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.CreateTask(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// get taskList 查询数据集导入任务列表
|
|
||||||
func (m *defaultModelArts) GetImportTaskList(ctx context.Context, in *ListImportTasksReq, opts ...grpc.CallOption) (*ListImportTasksResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.GetImportTaskList(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ListTrainingJobs 查询训练作业列表
|
|
||||||
func (m *defaultModelArts) GetListTrainingJobs(ctx context.Context, in *ListTrainingJobsreq, opts ...grpc.CallOption) (*ListTrainingJobsresp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.GetListTrainingJobs(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// CreateTrainingJob 创建训练作业
|
|
||||||
func (m *defaultModelArts) CreateTrainingJob(ctx context.Context, in *CreateTrainingJobReq, opts ...grpc.CallOption) (*CreateTrainingJobResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.CreateTrainingJob(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeleteTrainingJobConfig 删除训练作业
|
|
||||||
func (m *defaultModelArts) DeleteTrainingJob(ctx context.Context, in *DeleteTrainingJobReq, opts ...grpc.CallOption) (*DeleteTrainingJobResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.DeleteTrainingJob(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// CreateTrainingJobConfig 创建训练作业参数
|
|
||||||
func (m *defaultModelArts) CreateTrainingJobConfig(ctx context.Context, in *CreateTrainingJobConfigReq, opts ...grpc.CallOption) (*CreateTrainingJobConfigResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.CreateTrainingJobConfig(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeleteTrainingJobConfig 删除训练作业参数
|
|
||||||
func (m *defaultModelArts) DeleteTrainingJobConfig(ctx context.Context, in *DeleteTrainingJobConfigReq, opts ...grpc.CallOption) (*DeleteTrainingJobConfigResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.DeleteTrainingJobConfig(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ListTrainingJobConfig 查询训练作业参数
|
|
||||||
func (m *defaultModelArts) ListTrainingJobConfig(ctx context.Context, in *ListTrainingJobConfigReq, opts ...grpc.CallOption) (*ListTrainingJobConfigResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.ListTrainingJobConfig(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// CreateAlgorithm 创建算法
|
|
||||||
func (m *defaultModelArts) CreateAlgorithm(ctx context.Context, in *CreateAlgorithmReq, opts ...grpc.CallOption) (*CreateAlgorithmResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.CreateAlgorithm(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ListAlgorithms 查询算法
|
|
||||||
func (m *defaultModelArts) ListAlgorithms(ctx context.Context, in *ListAlgorithmsReq, opts ...grpc.CallOption) (*ListAlgorithmsResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.ListAlgorithms(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeleteAlgorithms 删除算法
|
|
||||||
func (m *defaultModelArts) DeleteAlgorithms(ctx context.Context, in *DeleteAlgorithmsReq, opts ...grpc.CallOption) (*DeleteAlgorithmsResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.DeleteAlgorithms(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ShowAlgorithmByUuid 展示算法详情
|
|
||||||
func (m *defaultModelArts) ShowAlgorithmByUuid(ctx context.Context, in *ShowAlgorithmByUuidReq, opts ...grpc.CallOption) (*ShowAlgorithmByUuidResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.ShowAlgorithmByUuid(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// training-job-flavors 获取训练作业支持的公共规格
|
|
||||||
func (m *defaultModelArts) GetTrainingJobFlavors(ctx context.Context, in *TrainingJobFlavorsReq, opts ...grpc.CallOption) (*TrainingJobFlavorsResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.GetTrainingJobFlavors(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// GET ai-engines 查询作业引擎规格
|
|
||||||
func (m *defaultModelArts) GetAiEnginesList(ctx context.Context, in *ListAiEnginesReq, opts ...grpc.CallOption) (*ListAiEnginesResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.GetAiEnginesList(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// export task
|
|
||||||
func (m *defaultModelArts) ExportTask(ctx context.Context, in *ExportTaskReq, opts ...grpc.CallOption) (*ExportTaskDataResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.ExportTask(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultModelArts) GetExportTasksOfDataset(ctx context.Context, in *GetExportTasksOfDatasetReq, opts ...grpc.CallOption) (*GetExportTasksOfDatasetResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.GetExportTasksOfDataset(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultModelArts) GetExportTaskStatusOfDataset(ctx context.Context, in *GetExportTaskStatusOfDatasetReq, opts ...grpc.CallOption) (*GetExportTaskStatusOfDatasetResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.GetExportTaskStatusOfDataset(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// processor task
|
|
||||||
func (m *defaultModelArts) CreateProcessorTask(ctx context.Context, in *CreateProcessorTaskReq, opts ...grpc.CallOption) (*CreateProcessorTaskResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.CreateProcessorTask(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultModelArts) DescribeProcessorTask(ctx context.Context, in *DescribeProcessorTaskReq, opts ...grpc.CallOption) (*DescribeProcessorTaskResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.DescribeProcessorTask(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// model management
|
|
||||||
func (m *defaultModelArts) CreateModel(ctx context.Context, in *CreateModelReq, opts ...grpc.CallOption) (*CreateModelResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.CreateModel(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultModelArts) DeleteModel(ctx context.Context, in *DeleteModelReq, opts ...grpc.CallOption) (*DeleteModelResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.DeleteModel(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultModelArts) ListModels(ctx context.Context, in *ListModelReq, opts ...grpc.CallOption) (*ListModelResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.ListModels(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultModelArts) ShowModels(ctx context.Context, in *ShowModelReq, opts ...grpc.CallOption) (*ShowModelResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.ShowModels(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// service management
|
|
||||||
func (m *defaultModelArts) CreateService(ctx context.Context, in *CreateServiceReq, opts ...grpc.CallOption) (*CreateServiceResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.CreateService(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultModelArts) ListServices(ctx context.Context, in *ListServicesReq, opts ...grpc.CallOption) (*ListServicesResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.ListServices(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultModelArts) ShowService(ctx context.Context, in *ShowServiceReq, opts ...grpc.CallOption) (*ShowServiceResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.ShowService(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultModelArts) DeleteService(ctx context.Context, in *DeleteServiceReq, opts ...grpc.CallOption) (*DeleteServiceResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.DeleteService(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultModelArts) ListClusters(ctx context.Context, in *ListClustersReq, opts ...grpc.CallOption) (*ListClustersResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.ListClusters(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// notebook task
|
|
||||||
func (m *defaultModelArts) ListNotebook(ctx context.Context, in *ListNotebookReq, opts ...grpc.CallOption) (*ListNotebookResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.ListNotebook(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultModelArts) CreateNotebook(ctx context.Context, in *CreateNotebookReq, opts ...grpc.CallOption) (*CreateNotebookResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.CreateNotebook(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultModelArts) StartNotebook(ctx context.Context, in *StartNotebookReq, opts ...grpc.CallOption) (*StartNotebookResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.StartNotebook(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultModelArts) StopNotebook(ctx context.Context, in *StopNotebookReq, opts ...grpc.CallOption) (*StopNotebookResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.StopNotebook(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultModelArts) GetNotebookStorage(ctx context.Context, in *GetNotebookStorageReq, opts ...grpc.CallOption) (*GetNotebookStorageResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.GetNotebookStorage(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultModelArts) MountNotebookStorage(ctx context.Context, in *MountNotebookStorageReq, opts ...grpc.CallOption) (*MountNotebookStorageResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.MountNotebookStorage(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// visualization-jobs
|
|
||||||
func (m *defaultModelArts) GetVisualizationJob(ctx context.Context, in *GetVisualizationJobReq, opts ...grpc.CallOption) (*GetVisualizationJobResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.GetVisualizationJob(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultModelArts) CreateVisualizationJob(ctx context.Context, in *CreateVisualizationJobReq, opts ...grpc.CallOption) (*CreateVisualizationJobResp, error) {
|
|
||||||
client := modelarts.NewModelArtsClient(m.cli.Conn())
|
|
||||||
return client.CreateVisualizationJob(ctx, in, opts...)
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,67 +0,0 @@
|
||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/config"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/logic"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/server"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts"
|
|
||||||
commonConfig "PCM/common/config"
|
|
||||||
"PCM/common/interceptor/rpcserver"
|
|
||||||
"flag"
|
|
||||||
"github.com/zeromicro/go-zero/core/conf"
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
"github.com/zeromicro/go-zero/core/service"
|
|
||||||
"github.com/zeromicro/go-zero/zrpc"
|
|
||||||
"google.golang.org/grpc"
|
|
||||||
"google.golang.org/grpc/reflection"
|
|
||||||
)
|
|
||||||
|
|
||||||
var configFile = flag.String("f", "adaptor/PCM-AI/PCM-MODELARTS/rpc/etc/pcmmodelarts.yaml", "the config file")
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
|
|
||||||
flag.Parse()
|
|
||||||
|
|
||||||
var bootstrapConfig commonConfig.BootstrapConfig
|
|
||||||
conf.MustLoad(*configFile, &bootstrapConfig)
|
|
||||||
|
|
||||||
//解析业务配置
|
|
||||||
var c config.Config
|
|
||||||
nacosConfig := bootstrapConfig.NacosConfig
|
|
||||||
|
|
||||||
serviceConfigContent := nacosConfig.InitConfig(func(data string) {
|
|
||||||
err := conf.LoadFromYamlBytes([]byte(data), &c)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
err := conf.LoadFromYamlBytes([]byte(serviceConfigContent), &c)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
// start log component
|
|
||||||
logx.MustSetup(c.LogConf)
|
|
||||||
// 注册到nacos
|
|
||||||
nacosConfig.Discovery(&c.RpcServerConf)
|
|
||||||
|
|
||||||
ctx := svc.NewServiceContext(c)
|
|
||||||
ctx.Cron.Start()
|
|
||||||
|
|
||||||
s := zrpc.MustNewServer(c.RpcServerConf, func(grpcServer *grpc.Server) {
|
|
||||||
modelarts.RegisterModelArtsServer(grpcServer, server.NewModelArtsServer(ctx))
|
|
||||||
|
|
||||||
if c.Mode == service.DevMode || c.Mode == service.TestMode {
|
|
||||||
reflection.Register(grpcServer)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
//rpc log
|
|
||||||
s.AddUnaryInterceptors(rpcserver.LoggerInterceptor)
|
|
||||||
|
|
||||||
defer s.Stop()
|
|
||||||
|
|
||||||
logx.Infof("Starting rpc server at %s...\n", c.ListenOn)
|
|
||||||
logic.InitCron(ctx)
|
|
||||||
s.Start()
|
|
||||||
}
|
|
|
@ -1,53 +0,0 @@
|
||||||
// Code generated by goctl. DO NOT EDIT.
|
|
||||||
// Source: pcm-ms.proto
|
|
||||||
|
|
||||||
package agentservice
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MS/rpc/ms"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/zrpc"
|
|
||||||
"google.golang.org/grpc"
|
|
||||||
)
|
|
||||||
|
|
||||||
type (
|
|
||||||
ClusterReRegisterMessageProto = ms.ClusterReRegisterMessageProto
|
|
||||||
ClusterRegisterAckMessageProto = ms.ClusterRegisterAckMessageProto
|
|
||||||
ClusterStateChangeMessageProto = ms.ClusterStateChangeMessageProto
|
|
||||||
MessageProducerProto = ms.MessageProducerProto
|
|
||||||
MessageResponseProto = ms.MessageResponseProto
|
|
||||||
StringStringMapProto = ms.StringStringMapProto
|
|
||||||
|
|
||||||
AgentService interface {
|
|
||||||
RequireReRegister(ctx context.Context, in *ClusterReRegisterMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error)
|
|
||||||
RegisterAck(ctx context.Context, in *ClusterRegisterAckMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error)
|
|
||||||
ChangeClusterState(ctx context.Context, in *ClusterStateChangeMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error)
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultAgentService struct {
|
|
||||||
cli zrpc.Client
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
func NewAgentService(cli zrpc.Client) AgentService {
|
|
||||||
return &defaultAgentService{
|
|
||||||
cli: cli,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultAgentService) RequireReRegister(ctx context.Context, in *ClusterReRegisterMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error) {
|
|
||||||
client := ms.NewAgentServiceClient(m.cli.Conn())
|
|
||||||
return client.RequireReRegister(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultAgentService) RegisterAck(ctx context.Context, in *ClusterRegisterAckMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error) {
|
|
||||||
client := ms.NewAgentServiceClient(m.cli.Conn())
|
|
||||||
return client.RegisterAck(ctx, in, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *defaultAgentService) ChangeClusterState(ctx context.Context, in *ClusterStateChangeMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error) {
|
|
||||||
client := ms.NewAgentServiceClient(m.cli.Conn())
|
|
||||||
return client.ChangeClusterState(ctx, in, opts...)
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
Name: pcmms.rpc
|
|
||||||
ListenOn: 0.0.0.0:8080
|
|
||||||
Etcd:
|
|
||||||
Hosts:
|
|
||||||
- 127.0.0.1:2379
|
|
||||||
Key: pcmms.rpc
|
|
|
@ -1,7 +0,0 @@
|
||||||
package config
|
|
||||||
|
|
||||||
import "github.com/zeromicro/go-zero/zrpc"
|
|
||||||
|
|
||||||
type Config struct {
|
|
||||||
zrpc.RpcServerConf
|
|
||||||
}
|
|
|
@ -1,30 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MS/rpc/ms"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type ChangeClusterStateLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewChangeClusterStateLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ChangeClusterStateLogic {
|
|
||||||
return &ChangeClusterStateLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *ChangeClusterStateLogic) ChangeClusterState(in *ms.ClusterStateChangeMessageProto) (*ms.MessageResponseProto, error) {
|
|
||||||
// todo: add your logic here and delete this line
|
|
||||||
|
|
||||||
return &ms.MessageResponseProto{}, nil
|
|
||||||
}
|
|
|
@ -1,30 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MS/rpc/ms"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type RegisterAckLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewRegisterAckLogic(ctx context.Context, svcCtx *svc.ServiceContext) *RegisterAckLogic {
|
|
||||||
return &RegisterAckLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *RegisterAckLogic) RegisterAck(in *ms.ClusterRegisterAckMessageProto) (*ms.MessageResponseProto, error) {
|
|
||||||
// todo: add your logic here and delete this line
|
|
||||||
|
|
||||||
return &ms.MessageResponseProto{}, nil
|
|
||||||
}
|
|
|
@ -1,30 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MS/rpc/ms"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type RequireReRegisterLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewRequireReRegisterLogic(ctx context.Context, svcCtx *svc.ServiceContext) *RequireReRegisterLogic {
|
|
||||||
return &RequireReRegisterLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *RequireReRegisterLogic) RequireReRegister(in *ms.ClusterReRegisterMessageProto) (*ms.MessageResponseProto, error) {
|
|
||||||
// todo: add your logic here and delete this line
|
|
||||||
|
|
||||||
return &ms.MessageResponseProto{}, nil
|
|
||||||
}
|
|
|
@ -1,38 +0,0 @@
|
||||||
// Code generated by goctl. DO NOT EDIT.
|
|
||||||
// Source: pcm-ms.proto
|
|
||||||
|
|
||||||
package server
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MS/rpc/internal/logic"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MS/rpc/ms"
|
|
||||||
)
|
|
||||||
|
|
||||||
type AgentServiceServer struct {
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
ms.UnimplementedAgentServiceServer
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewAgentServiceServer(svcCtx *svc.ServiceContext) *AgentServiceServer {
|
|
||||||
return &AgentServiceServer{
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *AgentServiceServer) RequireReRegister(ctx context.Context, in *ms.ClusterReRegisterMessageProto) (*ms.MessageResponseProto, error) {
|
|
||||||
l := logic.NewRequireReRegisterLogic(ctx, s.svcCtx)
|
|
||||||
return l.RequireReRegister(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *AgentServiceServer) RegisterAck(ctx context.Context, in *ms.ClusterRegisterAckMessageProto) (*ms.MessageResponseProto, error) {
|
|
||||||
l := logic.NewRegisterAckLogic(ctx, s.svcCtx)
|
|
||||||
return l.RegisterAck(in)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *AgentServiceServer) ChangeClusterState(ctx context.Context, in *ms.ClusterStateChangeMessageProto) (*ms.MessageResponseProto, error) {
|
|
||||||
l := logic.NewChangeClusterStateLogic(ctx, s.svcCtx)
|
|
||||||
return l.ChangeClusterState(in)
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
package svc
|
|
||||||
|
|
||||||
import "PCM/adaptor/PCM-AI/PCM-MS/rpc/internal/config"
|
|
||||||
|
|
||||||
type ServiceContext struct {
|
|
||||||
Config config.Config
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewServiceContext(c config.Config) *ServiceContext {
|
|
||||||
return &ServiceContext{
|
|
||||||
Config: c,
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,613 +0,0 @@
|
||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
||||||
// versions:
|
|
||||||
// protoc-gen-go v1.28.1
|
|
||||||
// protoc v3.19.4
|
|
||||||
// source: pcm-ms.proto
|
|
||||||
|
|
||||||
package ms
|
|
||||||
|
|
||||||
import (
|
|
||||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
||||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
||||||
reflect "reflect"
|
|
||||||
sync "sync"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
// Verify that this generated code is sufficiently up-to-date.
|
|
||||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
||||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
||||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
||||||
)
|
|
||||||
|
|
||||||
type MessageStatus int32
|
|
||||||
|
|
||||||
const (
|
|
||||||
MessageStatus_FAIL MessageStatus = 0
|
|
||||||
MessageStatus_SUCCESS MessageStatus = 1
|
|
||||||
MessageStatus_UNKNOWN MessageStatus = 2
|
|
||||||
)
|
|
||||||
|
|
||||||
// Enum value maps for MessageStatus.
|
|
||||||
var (
|
|
||||||
MessageStatus_name = map[int32]string{
|
|
||||||
0: "FAIL",
|
|
||||||
1: "SUCCESS",
|
|
||||||
2: "UNKNOWN",
|
|
||||||
}
|
|
||||||
MessageStatus_value = map[string]int32{
|
|
||||||
"FAIL": 0,
|
|
||||||
"SUCCESS": 1,
|
|
||||||
"UNKNOWN": 2,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
func (x MessageStatus) Enum() *MessageStatus {
|
|
||||||
p := new(MessageStatus)
|
|
||||||
*p = x
|
|
||||||
return p
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x MessageStatus) String() string {
|
|
||||||
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
||||||
}
|
|
||||||
|
|
||||||
func (MessageStatus) Descriptor() protoreflect.EnumDescriptor {
|
|
||||||
return file_pcm_ms_proto_enumTypes[0].Descriptor()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (MessageStatus) Type() protoreflect.EnumType {
|
|
||||||
return &file_pcm_ms_proto_enumTypes[0]
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x MessageStatus) Number() protoreflect.EnumNumber {
|
|
||||||
return protoreflect.EnumNumber(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use MessageStatus.Descriptor instead.
|
|
||||||
func (MessageStatus) EnumDescriptor() ([]byte, []int) {
|
|
||||||
return file_pcm_ms_proto_rawDescGZIP(), []int{0}
|
|
||||||
}
|
|
||||||
|
|
||||||
type ClusterReRegisterMessageProto struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
MsgProducer *MessageProducerProto `protobuf:"bytes,1,opt,name=msg_producer,json=msgProducer,proto3" json:"msg_producer,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ClusterReRegisterMessageProto) Reset() {
|
|
||||||
*x = ClusterReRegisterMessageProto{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_pcm_ms_proto_msgTypes[0]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ClusterReRegisterMessageProto) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*ClusterReRegisterMessageProto) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *ClusterReRegisterMessageProto) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_pcm_ms_proto_msgTypes[0]
|
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
if ms.LoadMessageInfo() == nil {
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
return ms
|
|
||||||
}
|
|
||||||
return mi.MessageOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use ClusterReRegisterMessageProto.ProtoReflect.Descriptor instead.
|
|
||||||
func (*ClusterReRegisterMessageProto) Descriptor() ([]byte, []int) {
|
|
||||||
return file_pcm_ms_proto_rawDescGZIP(), []int{0}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ClusterReRegisterMessageProto) GetMsgProducer() *MessageProducerProto {
|
|
||||||
if x != nil {
|
|
||||||
return x.MsgProducer
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type MessageProducerProto struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
MsNetId string `protobuf:"bytes,1,opt,name=ms_net_id,json=msNetId,proto3" json:"ms_net_id,omitempty"`
|
|
||||||
ClusterId string `protobuf:"bytes,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
|
|
||||||
AgentServiceHost string `protobuf:"bytes,3,opt,name=agent_service_host,json=agentServiceHost,proto3" json:"agent_service_host,omitempty"`
|
|
||||||
AgentServicePort int32 `protobuf:"varint,4,opt,name=agent_service_port,json=agentServicePort,proto3" json:"agent_service_port,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *MessageProducerProto) Reset() {
|
|
||||||
*x = MessageProducerProto{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_pcm_ms_proto_msgTypes[1]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *MessageProducerProto) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*MessageProducerProto) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *MessageProducerProto) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_pcm_ms_proto_msgTypes[1]
|
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
if ms.LoadMessageInfo() == nil {
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
return ms
|
|
||||||
}
|
|
||||||
return mi.MessageOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use MessageProducerProto.ProtoReflect.Descriptor instead.
|
|
||||||
func (*MessageProducerProto) Descriptor() ([]byte, []int) {
|
|
||||||
return file_pcm_ms_proto_rawDescGZIP(), []int{1}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *MessageProducerProto) GetMsNetId() string {
|
|
||||||
if x != nil {
|
|
||||||
return x.MsNetId
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *MessageProducerProto) GetClusterId() string {
|
|
||||||
if x != nil {
|
|
||||||
return x.ClusterId
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *MessageProducerProto) GetAgentServiceHost() string {
|
|
||||||
if x != nil {
|
|
||||||
return x.AgentServiceHost
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *MessageProducerProto) GetAgentServicePort() int32 {
|
|
||||||
if x != nil {
|
|
||||||
return x.AgentServicePort
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type ClusterRegisterAckMessageProto struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
MsgProducer *MessageProducerProto `protobuf:"bytes,1,opt,name=msg_producer,json=msgProducer,proto3" json:"msg_producer,omitempty"`
|
|
||||||
Configs []*StringStringMapProto `protobuf:"bytes,3,rep,name=configs,proto3" json:"configs,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ClusterRegisterAckMessageProto) Reset() {
|
|
||||||
*x = ClusterRegisterAckMessageProto{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_pcm_ms_proto_msgTypes[2]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ClusterRegisterAckMessageProto) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*ClusterRegisterAckMessageProto) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *ClusterRegisterAckMessageProto) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_pcm_ms_proto_msgTypes[2]
|
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
if ms.LoadMessageInfo() == nil {
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
return ms
|
|
||||||
}
|
|
||||||
return mi.MessageOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use ClusterRegisterAckMessageProto.ProtoReflect.Descriptor instead.
|
|
||||||
func (*ClusterRegisterAckMessageProto) Descriptor() ([]byte, []int) {
|
|
||||||
return file_pcm_ms_proto_rawDescGZIP(), []int{2}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ClusterRegisterAckMessageProto) GetMsgProducer() *MessageProducerProto {
|
|
||||||
if x != nil {
|
|
||||||
return x.MsgProducer
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ClusterRegisterAckMessageProto) GetConfigs() []*StringStringMapProto {
|
|
||||||
if x != nil {
|
|
||||||
return x.Configs
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type StringStringMapProto struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
|
|
||||||
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *StringStringMapProto) Reset() {
|
|
||||||
*x = StringStringMapProto{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_pcm_ms_proto_msgTypes[3]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *StringStringMapProto) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*StringStringMapProto) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *StringStringMapProto) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_pcm_ms_proto_msgTypes[3]
|
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
if ms.LoadMessageInfo() == nil {
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
return ms
|
|
||||||
}
|
|
||||||
return mi.MessageOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use StringStringMapProto.ProtoReflect.Descriptor instead.
|
|
||||||
func (*StringStringMapProto) Descriptor() ([]byte, []int) {
|
|
||||||
return file_pcm_ms_proto_rawDescGZIP(), []int{3}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *StringStringMapProto) GetKey() string {
|
|
||||||
if x != nil {
|
|
||||||
return x.Key
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *StringStringMapProto) GetValue() string {
|
|
||||||
if x != nil {
|
|
||||||
return x.Value
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
type ClusterStateChangeMessageProto struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
MsgProducer *MessageProducerProto `protobuf:"bytes,1,opt,name=msg_producer,json=msgProducer,proto3" json:"msg_producer,omitempty"`
|
|
||||||
ClusterState int32 `protobuf:"varint,2,opt,name=cluster_state,json=clusterState,proto3" json:"cluster_state,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ClusterStateChangeMessageProto) Reset() {
|
|
||||||
*x = ClusterStateChangeMessageProto{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_pcm_ms_proto_msgTypes[4]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ClusterStateChangeMessageProto) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*ClusterStateChangeMessageProto) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *ClusterStateChangeMessageProto) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_pcm_ms_proto_msgTypes[4]
|
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
if ms.LoadMessageInfo() == nil {
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
return ms
|
|
||||||
}
|
|
||||||
return mi.MessageOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use ClusterStateChangeMessageProto.ProtoReflect.Descriptor instead.
|
|
||||||
func (*ClusterStateChangeMessageProto) Descriptor() ([]byte, []int) {
|
|
||||||
return file_pcm_ms_proto_rawDescGZIP(), []int{4}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ClusterStateChangeMessageProto) GetMsgProducer() *MessageProducerProto {
|
|
||||||
if x != nil {
|
|
||||||
return x.MsgProducer
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ClusterStateChangeMessageProto) GetClusterState() int32 {
|
|
||||||
if x != nil {
|
|
||||||
return x.ClusterState
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type MessageResponseProto struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
MessageStatus MessageStatus `protobuf:"varint,1,opt,name=message_status,json=messageStatus,proto3,enum=ms.MessageStatus" json:"message_status,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *MessageResponseProto) Reset() {
|
|
||||||
*x = MessageResponseProto{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_pcm_ms_proto_msgTypes[5]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *MessageResponseProto) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*MessageResponseProto) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *MessageResponseProto) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_pcm_ms_proto_msgTypes[5]
|
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
if ms.LoadMessageInfo() == nil {
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
return ms
|
|
||||||
}
|
|
||||||
return mi.MessageOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use MessageResponseProto.ProtoReflect.Descriptor instead.
|
|
||||||
func (*MessageResponseProto) Descriptor() ([]byte, []int) {
|
|
||||||
return file_pcm_ms_proto_rawDescGZIP(), []int{5}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *MessageResponseProto) GetMessageStatus() MessageStatus {
|
|
||||||
if x != nil {
|
|
||||||
return x.MessageStatus
|
|
||||||
}
|
|
||||||
return MessageStatus_FAIL
|
|
||||||
}
|
|
||||||
|
|
||||||
var File_pcm_ms_proto protoreflect.FileDescriptor
|
|
||||||
|
|
||||||
var file_pcm_ms_proto_rawDesc = []byte{
|
|
||||||
0x0a, 0x0c, 0x70, 0x63, 0x6d, 0x2d, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02,
|
|
||||||
0x6d, 0x73, 0x22, 0x5c, 0x0a, 0x1d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x52,
|
|
||||||
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72,
|
|
||||||
0x6f, 0x74, 0x6f, 0x12, 0x3b, 0x0a, 0x0c, 0x6d, 0x73, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75,
|
|
||||||
0x63, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x73, 0x2e, 0x4d,
|
|
||||||
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x50, 0x72,
|
|
||||||
0x6f, 0x74, 0x6f, 0x52, 0x0b, 0x6d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72,
|
|
||||||
0x22, 0xad, 0x01, 0x0a, 0x14, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64,
|
|
||||||
0x75, 0x63, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x0a, 0x09, 0x6d, 0x73, 0x5f,
|
|
||||||
0x6e, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x73,
|
|
||||||
0x4e, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
|
|
||||||
0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74,
|
|
||||||
0x65, 0x72, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65,
|
|
||||||
0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
|
|
||||||
0x52, 0x10, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x48, 0x6f,
|
|
||||||
0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76,
|
|
||||||
0x69, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10,
|
|
||||||
0x61, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74,
|
|
||||||
0x22, 0x91, 0x01, 0x0a, 0x1e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69,
|
|
||||||
0x73, 0x74, 0x65, 0x72, 0x41, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72,
|
|
||||||
0x6f, 0x74, 0x6f, 0x12, 0x3b, 0x0a, 0x0c, 0x6d, 0x73, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75,
|
|
||||||
0x63, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x73, 0x2e, 0x4d,
|
|
||||||
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x50, 0x72,
|
|
||||||
0x6f, 0x74, 0x6f, 0x52, 0x0b, 0x6d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72,
|
|
||||||
0x12, 0x32, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
|
|
||||||
0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72,
|
|
||||||
0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x07, 0x63, 0x6f, 0x6e,
|
|
||||||
0x66, 0x69, 0x67, 0x73, 0x22, 0x3e, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74,
|
|
||||||
0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x0a, 0x03,
|
|
||||||
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
|
|
||||||
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
|
|
||||||
0x61, 0x6c, 0x75, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x1e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
|
|
||||||
0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61,
|
|
||||||
0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3b, 0x0a, 0x0c, 0x6d, 0x73, 0x67, 0x5f, 0x70,
|
|
||||||
0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e,
|
|
||||||
0x6d, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
|
|
||||||
0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0b, 0x6d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x64,
|
|
||||||
0x75, 0x63, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f,
|
|
||||||
0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6c, 0x75,
|
|
||||||
0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x50, 0x0a, 0x14, 0x4d, 0x65, 0x73,
|
|
||||||
0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74,
|
|
||||||
0x6f, 0x12, 0x38, 0x0a, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x61,
|
|
||||||
0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x6d, 0x73, 0x2e, 0x4d,
|
|
||||||
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x6d, 0x65,
|
|
||||||
0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0x33, 0x0a, 0x0d, 0x4d,
|
|
||||||
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x08, 0x0a, 0x04,
|
|
||||||
0x46, 0x41, 0x49, 0x4c, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53,
|
|
||||||
0x53, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x02,
|
|
||||||
0x32, 0x87, 0x02, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
|
|
||||||
0x65, 0x12, 0x52, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x52, 0x65, 0x52, 0x65,
|
|
||||||
0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x6d, 0x73, 0x2e, 0x43, 0x6c, 0x75, 0x73,
|
|
||||||
0x74, 0x65, 0x72, 0x52, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x73,
|
|
||||||
0x73, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x2e, 0x6d, 0x73, 0x2e, 0x4d,
|
|
||||||
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72,
|
|
||||||
0x6f, 0x74, 0x6f, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65,
|
|
||||||
0x72, 0x41, 0x63, 0x6b, 0x12, 0x22, 0x2e, 0x6d, 0x73, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
|
|
||||||
0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73,
|
|
||||||
0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x2e, 0x6d, 0x73, 0x2e, 0x4d, 0x65,
|
|
||||||
0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f,
|
|
||||||
0x74, 0x6f, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6c,
|
|
||||||
0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x6d, 0x73, 0x2e,
|
|
||||||
0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e,
|
|
||||||
0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18,
|
|
||||||
0x2e, 0x6d, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
|
||||||
0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x00, 0x42, 0x05, 0x5a, 0x03, 0x2f, 0x6d,
|
|
||||||
0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
file_pcm_ms_proto_rawDescOnce sync.Once
|
|
||||||
file_pcm_ms_proto_rawDescData = file_pcm_ms_proto_rawDesc
|
|
||||||
)
|
|
||||||
|
|
||||||
func file_pcm_ms_proto_rawDescGZIP() []byte {
|
|
||||||
file_pcm_ms_proto_rawDescOnce.Do(func() {
|
|
||||||
file_pcm_ms_proto_rawDescData = protoimpl.X.CompressGZIP(file_pcm_ms_proto_rawDescData)
|
|
||||||
})
|
|
||||||
return file_pcm_ms_proto_rawDescData
|
|
||||||
}
|
|
||||||
|
|
||||||
var file_pcm_ms_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
|
|
||||||
var file_pcm_ms_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
|
|
||||||
var file_pcm_ms_proto_goTypes = []interface{}{
|
|
||||||
(MessageStatus)(0), // 0: ms.MessageStatus
|
|
||||||
(*ClusterReRegisterMessageProto)(nil), // 1: ms.ClusterReRegisterMessageProto
|
|
||||||
(*MessageProducerProto)(nil), // 2: ms.MessageProducerProto
|
|
||||||
(*ClusterRegisterAckMessageProto)(nil), // 3: ms.ClusterRegisterAckMessageProto
|
|
||||||
(*StringStringMapProto)(nil), // 4: ms.StringStringMapProto
|
|
||||||
(*ClusterStateChangeMessageProto)(nil), // 5: ms.ClusterStateChangeMessageProto
|
|
||||||
(*MessageResponseProto)(nil), // 6: ms.MessageResponseProto
|
|
||||||
}
|
|
||||||
var file_pcm_ms_proto_depIdxs = []int32{
|
|
||||||
2, // 0: ms.ClusterReRegisterMessageProto.msg_producer:type_name -> ms.MessageProducerProto
|
|
||||||
2, // 1: ms.ClusterRegisterAckMessageProto.msg_producer:type_name -> ms.MessageProducerProto
|
|
||||||
4, // 2: ms.ClusterRegisterAckMessageProto.configs:type_name -> ms.StringStringMapProto
|
|
||||||
2, // 3: ms.ClusterStateChangeMessageProto.msg_producer:type_name -> ms.MessageProducerProto
|
|
||||||
0, // 4: ms.MessageResponseProto.message_status:type_name -> ms.MessageStatus
|
|
||||||
1, // 5: ms.AgentService.requireReRegister:input_type -> ms.ClusterReRegisterMessageProto
|
|
||||||
3, // 6: ms.AgentService.registerAck:input_type -> ms.ClusterRegisterAckMessageProto
|
|
||||||
5, // 7: ms.AgentService.changeClusterState:input_type -> ms.ClusterStateChangeMessageProto
|
|
||||||
6, // 8: ms.AgentService.requireReRegister:output_type -> ms.MessageResponseProto
|
|
||||||
6, // 9: ms.AgentService.registerAck:output_type -> ms.MessageResponseProto
|
|
||||||
6, // 10: ms.AgentService.changeClusterState:output_type -> ms.MessageResponseProto
|
|
||||||
8, // [8:11] is the sub-list for method output_type
|
|
||||||
5, // [5:8] is the sub-list for method input_type
|
|
||||||
5, // [5:5] is the sub-list for extension type_name
|
|
||||||
5, // [5:5] is the sub-list for extension extendee
|
|
||||||
0, // [0:5] is the sub-list for field type_name
|
|
||||||
}
|
|
||||||
|
|
||||||
func init() { file_pcm_ms_proto_init() }
|
|
||||||
func file_pcm_ms_proto_init() {
|
|
||||||
if File_pcm_ms_proto != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if !protoimpl.UnsafeEnabled {
|
|
||||||
file_pcm_ms_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*ClusterReRegisterMessageProto); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_pcm_ms_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*MessageProducerProto); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_pcm_ms_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*ClusterRegisterAckMessageProto); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_pcm_ms_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*StringStringMapProto); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_pcm_ms_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*ClusterStateChangeMessageProto); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_pcm_ms_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*MessageResponseProto); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
type x struct{}
|
|
||||||
out := protoimpl.TypeBuilder{
|
|
||||||
File: protoimpl.DescBuilder{
|
|
||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
||||||
RawDescriptor: file_pcm_ms_proto_rawDesc,
|
|
||||||
NumEnums: 1,
|
|
||||||
NumMessages: 6,
|
|
||||||
NumExtensions: 0,
|
|
||||||
NumServices: 1,
|
|
||||||
},
|
|
||||||
GoTypes: file_pcm_ms_proto_goTypes,
|
|
||||||
DependencyIndexes: file_pcm_ms_proto_depIdxs,
|
|
||||||
EnumInfos: file_pcm_ms_proto_enumTypes,
|
|
||||||
MessageInfos: file_pcm_ms_proto_msgTypes,
|
|
||||||
}.Build()
|
|
||||||
File_pcm_ms_proto = out.File
|
|
||||||
file_pcm_ms_proto_rawDesc = nil
|
|
||||||
file_pcm_ms_proto_goTypes = nil
|
|
||||||
file_pcm_ms_proto_depIdxs = nil
|
|
||||||
}
|
|
|
@ -1,177 +0,0 @@
|
||||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
|
||||||
// versions:
|
|
||||||
// - protoc-gen-go-grpc v1.2.0
|
|
||||||
// - protoc v3.19.4
|
|
||||||
// source: pcm-ms.proto
|
|
||||||
|
|
||||||
package ms
|
|
||||||
|
|
||||||
import (
|
|
||||||
context "context"
|
|
||||||
grpc "google.golang.org/grpc"
|
|
||||||
codes "google.golang.org/grpc/codes"
|
|
||||||
status "google.golang.org/grpc/status"
|
|
||||||
)
|
|
||||||
|
|
||||||
// This is a compile-time assertion to ensure that this generated file
|
|
||||||
// is compatible with the grpc package it is being compiled against.
|
|
||||||
// Requires gRPC-Go v1.32.0 or later.
|
|
||||||
const _ = grpc.SupportPackageIsVersion7
|
|
||||||
|
|
||||||
// AgentServiceClient is the client API for AgentService service.
|
|
||||||
//
|
|
||||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
|
||||||
type AgentServiceClient interface {
|
|
||||||
RequireReRegister(ctx context.Context, in *ClusterReRegisterMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error)
|
|
||||||
RegisterAck(ctx context.Context, in *ClusterRegisterAckMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error)
|
|
||||||
ChangeClusterState(ctx context.Context, in *ClusterStateChangeMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error)
|
|
||||||
}
|
|
||||||
|
|
||||||
type agentServiceClient struct {
|
|
||||||
cc grpc.ClientConnInterface
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewAgentServiceClient(cc grpc.ClientConnInterface) AgentServiceClient {
|
|
||||||
return &agentServiceClient{cc}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *agentServiceClient) RequireReRegister(ctx context.Context, in *ClusterReRegisterMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error) {
|
|
||||||
out := new(MessageResponseProto)
|
|
||||||
err := c.cc.Invoke(ctx, "/ms.AgentService/requireReRegister", in, out, opts...)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return out, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *agentServiceClient) RegisterAck(ctx context.Context, in *ClusterRegisterAckMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error) {
|
|
||||||
out := new(MessageResponseProto)
|
|
||||||
err := c.cc.Invoke(ctx, "/ms.AgentService/registerAck", in, out, opts...)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return out, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *agentServiceClient) ChangeClusterState(ctx context.Context, in *ClusterStateChangeMessageProto, opts ...grpc.CallOption) (*MessageResponseProto, error) {
|
|
||||||
out := new(MessageResponseProto)
|
|
||||||
err := c.cc.Invoke(ctx, "/ms.AgentService/changeClusterState", in, out, opts...)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return out, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// AgentServiceServer is the server API for AgentService service.
|
|
||||||
// All implementations must embed UnimplementedAgentServiceServer
|
|
||||||
// for forward compatibility
|
|
||||||
type AgentServiceServer interface {
|
|
||||||
RequireReRegister(context.Context, *ClusterReRegisterMessageProto) (*MessageResponseProto, error)
|
|
||||||
RegisterAck(context.Context, *ClusterRegisterAckMessageProto) (*MessageResponseProto, error)
|
|
||||||
ChangeClusterState(context.Context, *ClusterStateChangeMessageProto) (*MessageResponseProto, error)
|
|
||||||
mustEmbedUnimplementedAgentServiceServer()
|
|
||||||
}
|
|
||||||
|
|
||||||
// UnimplementedAgentServiceServer must be embedded to have forward compatible implementations.
|
|
||||||
type UnimplementedAgentServiceServer struct {
|
|
||||||
}
|
|
||||||
|
|
||||||
func (UnimplementedAgentServiceServer) RequireReRegister(context.Context, *ClusterReRegisterMessageProto) (*MessageResponseProto, error) {
|
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method RequireReRegister not implemented")
|
|
||||||
}
|
|
||||||
func (UnimplementedAgentServiceServer) RegisterAck(context.Context, *ClusterRegisterAckMessageProto) (*MessageResponseProto, error) {
|
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method RegisterAck not implemented")
|
|
||||||
}
|
|
||||||
func (UnimplementedAgentServiceServer) ChangeClusterState(context.Context, *ClusterStateChangeMessageProto) (*MessageResponseProto, error) {
|
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method ChangeClusterState not implemented")
|
|
||||||
}
|
|
||||||
func (UnimplementedAgentServiceServer) mustEmbedUnimplementedAgentServiceServer() {}
|
|
||||||
|
|
||||||
// UnsafeAgentServiceServer may be embedded to opt out of forward compatibility for this service.
|
|
||||||
// Use of this interface is not recommended, as added methods to AgentServiceServer will
|
|
||||||
// result in compilation errors.
|
|
||||||
type UnsafeAgentServiceServer interface {
|
|
||||||
mustEmbedUnimplementedAgentServiceServer()
|
|
||||||
}
|
|
||||||
|
|
||||||
func RegisterAgentServiceServer(s grpc.ServiceRegistrar, srv AgentServiceServer) {
|
|
||||||
s.RegisterService(&AgentService_ServiceDesc, srv)
|
|
||||||
}
|
|
||||||
|
|
||||||
func _AgentService_RequireReRegister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
||||||
in := new(ClusterReRegisterMessageProto)
|
|
||||||
if err := dec(in); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if interceptor == nil {
|
|
||||||
return srv.(AgentServiceServer).RequireReRegister(ctx, in)
|
|
||||||
}
|
|
||||||
info := &grpc.UnaryServerInfo{
|
|
||||||
Server: srv,
|
|
||||||
FullMethod: "/ms.AgentService/requireReRegister",
|
|
||||||
}
|
|
||||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
||||||
return srv.(AgentServiceServer).RequireReRegister(ctx, req.(*ClusterReRegisterMessageProto))
|
|
||||||
}
|
|
||||||
return interceptor(ctx, in, info, handler)
|
|
||||||
}
|
|
||||||
|
|
||||||
func _AgentService_RegisterAck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
||||||
in := new(ClusterRegisterAckMessageProto)
|
|
||||||
if err := dec(in); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if interceptor == nil {
|
|
||||||
return srv.(AgentServiceServer).RegisterAck(ctx, in)
|
|
||||||
}
|
|
||||||
info := &grpc.UnaryServerInfo{
|
|
||||||
Server: srv,
|
|
||||||
FullMethod: "/ms.AgentService/registerAck",
|
|
||||||
}
|
|
||||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
||||||
return srv.(AgentServiceServer).RegisterAck(ctx, req.(*ClusterRegisterAckMessageProto))
|
|
||||||
}
|
|
||||||
return interceptor(ctx, in, info, handler)
|
|
||||||
}
|
|
||||||
|
|
||||||
func _AgentService_ChangeClusterState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
||||||
in := new(ClusterStateChangeMessageProto)
|
|
||||||
if err := dec(in); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if interceptor == nil {
|
|
||||||
return srv.(AgentServiceServer).ChangeClusterState(ctx, in)
|
|
||||||
}
|
|
||||||
info := &grpc.UnaryServerInfo{
|
|
||||||
Server: srv,
|
|
||||||
FullMethod: "/ms.AgentService/changeClusterState",
|
|
||||||
}
|
|
||||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
||||||
return srv.(AgentServiceServer).ChangeClusterState(ctx, req.(*ClusterStateChangeMessageProto))
|
|
||||||
}
|
|
||||||
return interceptor(ctx, in, info, handler)
|
|
||||||
}
|
|
||||||
|
|
||||||
// AgentService_ServiceDesc is the grpc.ServiceDesc for AgentService service.
|
|
||||||
// It's only intended for direct use with grpc.RegisterService,
|
|
||||||
// and not to be introspected or modified (even as a copy)
|
|
||||||
var AgentService_ServiceDesc = grpc.ServiceDesc{
|
|
||||||
ServiceName: "ms.AgentService",
|
|
||||||
HandlerType: (*AgentServiceServer)(nil),
|
|
||||||
Methods: []grpc.MethodDesc{
|
|
||||||
{
|
|
||||||
MethodName: "requireReRegister",
|
|
||||||
Handler: _AgentService_RequireReRegister_Handler,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
MethodName: "registerAck",
|
|
||||||
Handler: _AgentService_RegisterAck_Handler,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
MethodName: "changeClusterState",
|
|
||||||
Handler: _AgentService_ChangeClusterState_Handler,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Streams: []grpc.StreamDesc{},
|
|
||||||
Metadata: "pcm-ms.proto",
|
|
||||||
}
|
|
|
@ -1,47 +0,0 @@
|
||||||
syntax = "proto3";
|
|
||||||
|
|
||||||
package ms;
|
|
||||||
option go_package = "/ms";
|
|
||||||
|
|
||||||
message ClusterReRegisterMessageProto {
|
|
||||||
MessageProducerProto msg_producer = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
message MessageProducerProto {
|
|
||||||
string ms_net_id = 1;
|
|
||||||
string cluster_id = 2;
|
|
||||||
string agent_service_host = 3;
|
|
||||||
int32 agent_service_port = 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
message ClusterRegisterAckMessageProto {
|
|
||||||
MessageProducerProto msg_producer = 1;
|
|
||||||
repeated StringStringMapProto configs = 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
message StringStringMapProto {
|
|
||||||
string key = 1;
|
|
||||||
string value = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message ClusterStateChangeMessageProto {
|
|
||||||
MessageProducerProto msg_producer = 1;
|
|
||||||
int32 cluster_state = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
enum MessageStatus {
|
|
||||||
FAIL = 0;
|
|
||||||
SUCCESS = 1;
|
|
||||||
UNKNOWN = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message MessageResponseProto {
|
|
||||||
MessageStatus message_status = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
service AgentService {
|
|
||||||
rpc requireReRegister (ClusterReRegisterMessageProto) returns (MessageResponseProto) {};
|
|
||||||
rpc registerAck (ClusterRegisterAckMessageProto) returns (MessageResponseProto) {};
|
|
||||||
rpc changeClusterState (ClusterStateChangeMessageProto) returns (MessageResponseProto) {};
|
|
||||||
}
|
|
|
@ -1,39 +0,0 @@
|
||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"flag"
|
|
||||||
"fmt"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MS/rpc/internal/config"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MS/rpc/internal/server"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-MS/rpc/ms"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/conf"
|
|
||||||
"github.com/zeromicro/go-zero/core/service"
|
|
||||||
"github.com/zeromicro/go-zero/zrpc"
|
|
||||||
"google.golang.org/grpc"
|
|
||||||
"google.golang.org/grpc/reflection"
|
|
||||||
)
|
|
||||||
|
|
||||||
var configFile = flag.String("f", "etc/pcmms.yaml", "the config file")
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
flag.Parse()
|
|
||||||
|
|
||||||
var c config.Config
|
|
||||||
conf.MustLoad(*configFile, &c)
|
|
||||||
ctx := svc.NewServiceContext(c)
|
|
||||||
|
|
||||||
s := zrpc.MustNewServer(c.RpcServerConf, func(grpcServer *grpc.Server) {
|
|
||||||
ms.RegisterAgentServiceServer(grpcServer, server.NewAgentServiceServer(ctx))
|
|
||||||
|
|
||||||
if c.Mode == service.DevMode || c.Mode == service.TestMode {
|
|
||||||
reflection.Register(grpcServer)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
defer s.Stop()
|
|
||||||
|
|
||||||
fmt.Printf("Starting rpc server at %s...\n", c.ListenOn)
|
|
||||||
s.Start()
|
|
||||||
}
|
|
|
@ -1,2 +0,0 @@
|
||||||
rpc-gen:
|
|
||||||
goctl rpc protoc ./pb/*.proto --go_out=./ --go-grpc_out=./ --zrpc_out=.
|
|
|
@ -1,16 +0,0 @@
|
||||||
NacosConfig:
|
|
||||||
DataId: pcm-octopus-rpc.yaml
|
|
||||||
Group: DEFAULT_GROUP
|
|
||||||
ServerConfigs:
|
|
||||||
- IpAddr: nacos.jcce.dev
|
|
||||||
Port: 8848
|
|
||||||
# - IpAddr: nacos-headless
|
|
||||||
# Port: 8848
|
|
||||||
ClientConfig:
|
|
||||||
NamespaceId: test
|
|
||||||
TimeoutMs: 5000
|
|
||||||
NotLoadCacheAtStart: true
|
|
||||||
LogDir:
|
|
||||||
CacheDir:
|
|
||||||
LogLevel: debug
|
|
||||||
|
|
|
@ -1,110 +0,0 @@
|
||||||
package common
|
|
||||||
|
|
||||||
type TokenResp struct {
|
|
||||||
Success bool `json:"success"`
|
|
||||||
Payload struct {
|
|
||||||
Token string `json:"token"`
|
|
||||||
Expiration int `json:"expiration"`
|
|
||||||
} `json:"payload"`
|
|
||||||
Error interface{} `json:"error"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type SuiyuanResp struct {
|
|
||||||
Success bool `json:"success"`
|
|
||||||
Payload struct {
|
|
||||||
MapResourceSpecIdList struct {
|
|
||||||
Debug struct {
|
|
||||||
ResourceSpecs []struct {
|
|
||||||
Id string `json:"id"`
|
|
||||||
Name string `json:"name"`
|
|
||||||
Price int `json:"price"`
|
|
||||||
ResourceQuantity struct {
|
|
||||||
Cpu string `json:"cpu,omitempty"`
|
|
||||||
EnflameComDtu string `json:"enflame.com/dtu,omitempty"`
|
|
||||||
Memory string `json:"memory"`
|
|
||||||
Shm string `json:"shm,omitempty"`
|
|
||||||
CpuCpu string `json:"cpu_cpu,omitempty"`
|
|
||||||
} `json:"resourceQuantity"`
|
|
||||||
} `json:"resourceSpecs"`
|
|
||||||
} `json:"debug"`
|
|
||||||
Deploy struct {
|
|
||||||
ResourceSpecs []interface{} `json:"resourceSpecs"`
|
|
||||||
} `json:"deploy"`
|
|
||||||
Train struct {
|
|
||||||
ResourceSpecs []struct {
|
|
||||||
Id string `json:"id"`
|
|
||||||
Name string `json:"name"`
|
|
||||||
Price int `json:"price"`
|
|
||||||
ResourceQuantity struct {
|
|
||||||
Cpu string `json:"cpu"`
|
|
||||||
EnflameComDtu string `json:"enflame.com/dtu"`
|
|
||||||
Memory string `json:"memory"`
|
|
||||||
Shm string `json:"shm"`
|
|
||||||
} `json:"resourceQuantity"`
|
|
||||||
} `json:"resourceSpecs"`
|
|
||||||
} `json:"train"`
|
|
||||||
} `json:"mapResourceSpecIdList"`
|
|
||||||
} `json:"payload"`
|
|
||||||
Error interface{} `json:"error"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type HanwujiResp struct {
|
|
||||||
Success bool `json:"success"`
|
|
||||||
Payload struct {
|
|
||||||
MapResourceSpecIdList struct {
|
|
||||||
Debug struct {
|
|
||||||
ResourceSpecs []struct {
|
|
||||||
Id string `json:"id"`
|
|
||||||
Name string `json:"name"`
|
|
||||||
Price int `json:"price"`
|
|
||||||
ResourceQuantity struct {
|
|
||||||
CambriconComMlu string `json:"cambricon.com/mlu,omitempty"`
|
|
||||||
Cpu string `json:"cpu"`
|
|
||||||
Memory string `json:"memory"`
|
|
||||||
Shm string `json:"shm,omitempty"`
|
|
||||||
} `json:"resourceQuantity"`
|
|
||||||
} `json:"resourceSpecs"`
|
|
||||||
} `json:"debug"`
|
|
||||||
Deploy struct {
|
|
||||||
ResourceSpecs []interface{} `json:"resourceSpecs"`
|
|
||||||
} `json:"deploy"`
|
|
||||||
Train struct {
|
|
||||||
ResourceSpecs []struct {
|
|
||||||
Id string `json:"id"`
|
|
||||||
Name string `json:"name"`
|
|
||||||
Price int `json:"price"`
|
|
||||||
ResourceQuantity struct {
|
|
||||||
CambriconComMlu string `json:"cambricon.com/mlu,omitempty"`
|
|
||||||
Cpu string `json:"cpu"`
|
|
||||||
Memory string `json:"memory"`
|
|
||||||
Shm string `json:"shm,omitempty"`
|
|
||||||
} `json:"resourceQuantity"`
|
|
||||||
} `json:"resourceSpecs"`
|
|
||||||
} `json:"train"`
|
|
||||||
} `json:"mapResourceSpecIdList"`
|
|
||||||
} `json:"payload"`
|
|
||||||
Error interface{} `json:"error"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type SailingsiResp struct {
|
|
||||||
Success bool `json:"success"`
|
|
||||||
Payload struct {
|
|
||||||
MapResourceSpecIdList struct {
|
|
||||||
Debug struct {
|
|
||||||
ResourceSpecs []interface{} `json:"resourceSpecs"`
|
|
||||||
} `json:"debug"`
|
|
||||||
Deploy struct {
|
|
||||||
ResourceSpecs []interface{} `json:"resourceSpecs"`
|
|
||||||
} `json:"deploy"`
|
|
||||||
Train struct {
|
|
||||||
ResourceSpecs []interface{} `json:"resourceSpecs"`
|
|
||||||
} `json:"train"`
|
|
||||||
} `json:"mapResourceSpecIdList"`
|
|
||||||
} `json:"payload"`
|
|
||||||
Error interface{} `json:"error"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type Login struct {
|
|
||||||
Username string `json:"username"`
|
|
||||||
Password string `json:"password"`
|
|
||||||
}
|
|
|
@ -1,36 +0,0 @@
|
||||||
package common
|
|
||||||
|
|
||||||
import (
|
|
||||||
"io"
|
|
||||||
"log"
|
|
||||||
"net/http"
|
|
||||||
"os"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
func OctopusHttpClient(method string, url string, payload io.Reader, token string) ([]byte, error) {
|
|
||||||
request, err := http.NewRequest(method, url, payload)
|
|
||||||
if token != "" {
|
|
||||||
request.Header.Set("Authorization", "Bearer "+token)
|
|
||||||
} else {
|
|
||||||
request.Header.Set("Content-Type", "application/json")
|
|
||||||
}
|
|
||||||
client := http.Client{Timeout: time.Duration(2) * time.Second}
|
|
||||||
res, err := client.Do(request)
|
|
||||||
if err != nil {
|
|
||||||
if os.IsTimeout(err) {
|
|
||||||
log.Println("接口调用超时 : ", err)
|
|
||||||
request.Body.Close()
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
log.Println(err)
|
|
||||||
}
|
|
||||||
defer res.Body.Close()
|
|
||||||
body, err := io.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
|
||||||
log.Println("body转换错误: ", err)
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return body, err
|
|
||||||
}
|
|
|
@ -1,99 +0,0 @@
|
||||||
package common
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/config"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"bytes"
|
|
||||||
"encoding/json"
|
|
||||||
"log"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
Hanwuji = "hanwuji"
|
|
||||||
Suiyuan = "suiyuan"
|
|
||||||
Sailingsi = "sailingsi"
|
|
||||||
)
|
|
||||||
|
|
||||||
type TokenTimePair struct {
|
|
||||||
Token string
|
|
||||||
ExpiredAt time.Time
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
tokenMap = generateTokenMap()
|
|
||||||
OctopusUrls = getOctopusUrls()
|
|
||||||
)
|
|
||||||
|
|
||||||
func generateTokenMap() map[string]TokenTimePair {
|
|
||||||
var tokenMap = make(map[string]TokenTimePair)
|
|
||||||
octopusConfig := config.Cfg
|
|
||||||
login := Login{
|
|
||||||
Username: octopusConfig.OctopusConfig.Username,
|
|
||||||
Password: octopusConfig.OctopusConfig.Password,
|
|
||||||
}
|
|
||||||
jsonStr, _ := json.Marshal(login)
|
|
||||||
urlMap := map[string]string{
|
|
||||||
Hanwuji: octopusConfig.OctopusConfig.HanwujiUrl + octopusConfig.OctopusConfig.OctopusTokenUrl,
|
|
||||||
Suiyuan: octopusConfig.OctopusConfig.SuiyuanUrl + octopusConfig.OctopusConfig.OctopusTokenUrl,
|
|
||||||
Sailingsi: octopusConfig.OctopusConfig.SailingsiUrl + octopusConfig.OctopusConfig.OctopusTokenUrl,
|
|
||||||
}
|
|
||||||
for k, v := range urlMap {
|
|
||||||
token, expiredAt := generateToken(jsonStr, v)
|
|
||||||
if token == "" {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
tokenTimePair := TokenTimePair{
|
|
||||||
Token: token,
|
|
||||||
ExpiredAt: expiredAt,
|
|
||||||
}
|
|
||||||
tokenMap[k] = tokenTimePair
|
|
||||||
}
|
|
||||||
return tokenMap
|
|
||||||
}
|
|
||||||
|
|
||||||
func generateToken(jsonStr []byte, tokenUrl string) (string, time.Time) {
|
|
||||||
|
|
||||||
body, err := OctopusHttpClient(tool.POST, tokenUrl, bytes.NewBuffer(jsonStr), "")
|
|
||||||
var tokenResp TokenResp
|
|
||||||
err = json.Unmarshal(body, &tokenResp)
|
|
||||||
if err != nil {
|
|
||||||
log.Println("token json转换失败 : ", err)
|
|
||||||
return "", time.Time{}
|
|
||||||
}
|
|
||||||
|
|
||||||
var d time.Duration
|
|
||||||
d = time.Second * time.Duration(tokenResp.Payload.Expiration)
|
|
||||||
return tokenResp.Payload.Token, time.Now().Add(d)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetToken(kForToken string) string {
|
|
||||||
|
|
||||||
if tokenMap[kForToken].Token == "" {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
tokenTimePair := tokenMap[kForToken]
|
|
||||||
|
|
||||||
if time.Now().After(tokenTimePair.ExpiredAt) {
|
|
||||||
tokenMap = generateTokenMap()
|
|
||||||
|
|
||||||
if tokenMap[kForToken].Token == "" {
|
|
||||||
return ""
|
|
||||||
} else {
|
|
||||||
return tokenMap[kForToken].Token
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return tokenTimePair.Token
|
|
||||||
}
|
|
||||||
|
|
||||||
func getOctopusUrls() map[string]string {
|
|
||||||
octopusConfig := config.Cfg
|
|
||||||
urlMap := map[string]string{
|
|
||||||
Hanwuji: octopusConfig.OctopusConfig.HanwujiUrl,
|
|
||||||
Suiyuan: octopusConfig.OctopusConfig.SuiyuanUrl,
|
|
||||||
Sailingsi: octopusConfig.OctopusConfig.SailingsiUrl,
|
|
||||||
}
|
|
||||||
return urlMap
|
|
||||||
}
|
|
|
@ -1,49 +0,0 @@
|
||||||
package config
|
|
||||||
|
|
||||||
import (
|
|
||||||
commonConfig "PCM/common/config"
|
|
||||||
"flag"
|
|
||||||
"github.com/zeromicro/go-zero/core/conf"
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
"github.com/zeromicro/go-zero/core/stores/redis"
|
|
||||||
"github.com/zeromicro/go-zero/zrpc"
|
|
||||||
)
|
|
||||||
|
|
||||||
type Config struct {
|
|
||||||
zrpc.RpcServerConf
|
|
||||||
OctopusConfig OctopusConfig
|
|
||||||
OctopusApi OctopusApi
|
|
||||||
PcmCoreRpcConf zrpc.RpcClientConf
|
|
||||||
LogConf logx.LogConf
|
|
||||||
RedisConf redis.RedisConf
|
|
||||||
}
|
|
||||||
|
|
||||||
var configFile = flag.String("f", "adaptor/PCM-AI/PCM-OCTOPUS/rpc/etc/octopus.yaml", "the config file")
|
|
||||||
|
|
||||||
var Cfg = getConfig()
|
|
||||||
|
|
||||||
func getConfig() Config {
|
|
||||||
var bootstrapConfig commonConfig.BootstrapConfig
|
|
||||||
conf.MustLoad(*configFile, &bootstrapConfig)
|
|
||||||
|
|
||||||
//解析业务配置
|
|
||||||
var c Config
|
|
||||||
nacosConfig := bootstrapConfig.NacosConfig
|
|
||||||
|
|
||||||
serviceConfigContent := nacosConfig.InitConfig(func(data string) {
|
|
||||||
err := conf.LoadFromYamlBytes([]byte(data), &c)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
err := conf.LoadFromYamlBytes([]byte(serviceConfigContent), &c)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
// start log component
|
|
||||||
logx.MustSetup(c.LogConf)
|
|
||||||
// 注册到nacos
|
|
||||||
nacosConfig.Discovery(&c.RpcServerConf)
|
|
||||||
|
|
||||||
return c
|
|
||||||
}
|
|
|
@ -1,67 +0,0 @@
|
||||||
package config
|
|
||||||
|
|
||||||
type OctopusConfig struct {
|
|
||||||
Username string
|
|
||||||
Password string
|
|
||||||
HanwujiUrl string
|
|
||||||
SuiyuanUrl string
|
|
||||||
SailingsiUrl string
|
|
||||||
OctopusResouceSpec string
|
|
||||||
OctopusTokenUrl string
|
|
||||||
CambriconMLU290 int32
|
|
||||||
EnflameT20 int32
|
|
||||||
OctopusCp string
|
|
||||||
}
|
|
||||||
|
|
||||||
type OctopusApi struct {
|
|
||||||
GetUserImageList string
|
|
||||||
GetMyAlgorithmList string
|
|
||||||
GetNotebookList string
|
|
||||||
GetMydatasetList string
|
|
||||||
CreateImage string
|
|
||||||
DeleteImage string
|
|
||||||
CreateDataSet string
|
|
||||||
DeleteDataSet string
|
|
||||||
GetAlgorithmApplyList string
|
|
||||||
GetAlgorithmFrameworkList string
|
|
||||||
DeleteMyAlgorithm string
|
|
||||||
CreateMyAlgorithm string
|
|
||||||
GetAlgorithmList string
|
|
||||||
GetAlgorithm string
|
|
||||||
DownloadAlgorithm string
|
|
||||||
UploadAlgorithm string
|
|
||||||
UploadAlgorithmConfirm string
|
|
||||||
UploadImage string
|
|
||||||
UploadImageConfirm string
|
|
||||||
UploadDataSet string
|
|
||||||
UploadDataSetConfirm string
|
|
||||||
CreateDataSetVersion string
|
|
||||||
DeleteDataSetVersion string
|
|
||||||
GetDatasetVersionList string
|
|
||||||
DeleteNotebook string
|
|
||||||
StartNotebook string
|
|
||||||
StopNotebook string
|
|
||||||
CreateNotebook string
|
|
||||||
GetNotebook string
|
|
||||||
CreateTrainJob string
|
|
||||||
GetDatasetApplyList string
|
|
||||||
GetDatasetTypeList string
|
|
||||||
GetTrainJobList string
|
|
||||||
GetMyModelList string
|
|
||||||
GetModelVersionList string
|
|
||||||
DeleteMyModel string
|
|
||||||
DeleteModelVersion string
|
|
||||||
DownloadModelVersion string
|
|
||||||
GetTrainJob string
|
|
||||||
DeleteTrainJob string
|
|
||||||
StopTrainJob string
|
|
||||||
GetTrainJobEvent string
|
|
||||||
GetTrainJobMetric string
|
|
||||||
CreateModelDeploy string
|
|
||||||
GetModelDeployList string
|
|
||||||
GetModelDeploy string
|
|
||||||
GetModelDeployEvent string
|
|
||||||
StopModelDeploy string
|
|
||||||
DeleteModelDeploy string
|
|
||||||
InferModelDeploy string
|
|
||||||
}
|
|
|
@ -1,51 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
"log"
|
|
||||||
)
|
|
||||||
|
|
||||||
type CreateDataSetLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewCreateDataSetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateDataSetLogic {
|
|
||||||
return &CreateDataSetLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *CreateDataSetLogic) CreateDataSet(in *octopus.CreateDataSetReq) (*octopus.CreateDataSetResp, error) {
|
|
||||||
resp := &octopus.CreateDataSetResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.CreateDataSet
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetBody(in.CreateDataSet).
|
|
||||||
SetResult(resp).
|
|
||||||
Post(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,54 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type CreateDataSetVersionLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewCreateDataSetVersionLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateDataSetVersionLogic {
|
|
||||||
return &CreateDataSetVersionLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *CreateDataSetVersionLogic) CreateDataSetVersion(in *octopus.CreateDataSetVersionReq) (*octopus.CreateDataSetVersionResp, error) {
|
|
||||||
resp := &octopus.CreateDataSetVersionResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.CreateDataSetVersion
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetPathParam("datasetId", in.DatasetId).
|
|
||||||
SetBody(in.Params).
|
|
||||||
SetResult(resp).
|
|
||||||
Post(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,52 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type CreateImageLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewCreateImageLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateImageLogic {
|
|
||||||
return &CreateImageLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *CreateImageLogic) CreateImage(in *octopus.CreateImageReq) (*octopus.CreateImageResp, error) {
|
|
||||||
resp := &octopus.CreateImageResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.CreateImage
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetBody(in.CreateImage).
|
|
||||||
SetResult(resp).
|
|
||||||
Post(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,54 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type CreateModelDeployLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewCreateModelDeployLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateModelDeployLogic {
|
|
||||||
return &CreateModelDeployLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ModelDeployService
|
|
||||||
func (l *CreateModelDeployLogic) CreateModelDeploy(in *octopus.CreateModelDeployReq) (*octopus.CreateModelDeployResp, error) {
|
|
||||||
resp := &octopus.CreateModelDeployResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.CreateModelDeploy
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetBody(in.Params).
|
|
||||||
SetResult(resp).
|
|
||||||
Post(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,53 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type CreateMyAlgorithmLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewCreateMyAlgorithmLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateMyAlgorithmLogic {
|
|
||||||
return &CreateMyAlgorithmLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *CreateMyAlgorithmLogic) CreateMyAlgorithm(in *octopus.CreateMyAlgorithmReq) (*octopus.CreateMyAlgorithmResp, error) {
|
|
||||||
resp := &octopus.CreateMyAlgorithmResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.CreateMyAlgorithm
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetBody(in.CreateMyAlgorithm).
|
|
||||||
SetResult(resp).
|
|
||||||
Post(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,53 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type CreateNotebookLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewCreateNotebookLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateNotebookLogic {
|
|
||||||
return &CreateNotebookLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *CreateNotebookLogic) CreateNotebook(in *octopus.CreateNotebookReq) (*octopus.CreateNotebookResp, error) {
|
|
||||||
resp := &octopus.CreateNotebookResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.CreateNotebook
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetBody(in.Params).
|
|
||||||
SetResult(resp).
|
|
||||||
Post(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,54 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type CreateTrainJobLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewCreateTrainJobLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateTrainJobLogic {
|
|
||||||
return &CreateTrainJobLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// TrainJobService
|
|
||||||
func (l *CreateTrainJobLogic) CreateTrainJob(in *octopus.CreateTrainJobReq) (*octopus.CreateTrainJobResp, error) {
|
|
||||||
resp := &octopus.CreateTrainJobResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.CreateTrainJob
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetBody(in.Params).
|
|
||||||
SetResult(resp).
|
|
||||||
Post(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,53 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type DeleteDataSetLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewDeleteDataSetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteDataSetLogic {
|
|
||||||
return &DeleteDataSetLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *DeleteDataSetLogic) DeleteDataSet(in *octopus.DeleteDataSetReq) (*octopus.DeleteDataSetResp, error) {
|
|
||||||
resp := &octopus.DeleteDataSetResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DeleteDataSet
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetPathParam("id", in.Id).
|
|
||||||
SetResult(resp).
|
|
||||||
Delete(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,54 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type DeleteDataSetVersionLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewDeleteDataSetVersionLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteDataSetVersionLogic {
|
|
||||||
return &DeleteDataSetVersionLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *DeleteDataSetVersionLogic) DeleteDataSetVersion(in *octopus.DeleteDataSetVersionReq) (*octopus.DeleteDataSetVersionResp, error) {
|
|
||||||
resp := &octopus.DeleteDataSetVersionResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DeleteDataSetVersion
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetPathParam("datasetId", in.DatasetId).
|
|
||||||
SetPathParam("version", in.Version).
|
|
||||||
SetResult(resp).
|
|
||||||
Delete(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,53 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type DeleteImageLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewDeleteImageLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteImageLogic {
|
|
||||||
return &DeleteImageLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *DeleteImageLogic) DeleteImage(in *octopus.DeleteImageReq) (*octopus.DeleteImageResp, error) {
|
|
||||||
resp := &octopus.DeleteImageResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DeleteImage
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetPathParam("imageId", in.ImageId).
|
|
||||||
SetResult(resp).
|
|
||||||
Delete(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,58 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type DeleteModelDeployLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewDeleteModelDeployLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteModelDeployLogic {
|
|
||||||
return &DeleteModelDeployLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *DeleteModelDeployLogic) DeleteModelDeploy(in *octopus.DeleteModelDeployReq) (*octopus.DeleteModelDeployResp, error) {
|
|
||||||
resp := &octopus.DeleteModelDeployResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DeleteModelDeploy
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
var queryStr string
|
|
||||||
for _, s := range in.GetJobIds() {
|
|
||||||
queryStr += "jobIds=" + s + "&"
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetQueryString(queryStr).
|
|
||||||
SetResult(resp).
|
|
||||||
Delete(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,54 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type DeleteModelVersionLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewDeleteModelVersionLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteModelVersionLogic {
|
|
||||||
return &DeleteModelVersionLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *DeleteModelVersionLogic) DeleteModelVersion(in *octopus.DeleteModelVersionReq) (*octopus.DeleteModelVersionResp, error) {
|
|
||||||
resp := &octopus.DeleteModelVersionResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DeleteModelVersion
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetPathParam("modelId", in.ModelId).
|
|
||||||
SetPathParam("version", in.Version).
|
|
||||||
SetResult(resp).
|
|
||||||
Delete(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,53 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type DeleteMyAlgorithmLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewDeleteMyAlgorithmLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteMyAlgorithmLogic {
|
|
||||||
return &DeleteMyAlgorithmLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *DeleteMyAlgorithmLogic) DeleteMyAlgorithm(in *octopus.DeleteMyAlgorithmReq) (*octopus.DeleteMyAlgorithmResp, error) {
|
|
||||||
resp := &octopus.DeleteMyAlgorithmResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DeleteMyAlgorithm
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetPathParam("algorithmId", in.AlgorithmId).
|
|
||||||
SetResult(resp).
|
|
||||||
Delete(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,54 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type DeleteMyModelLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewDeleteMyModelLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteMyModelLogic {
|
|
||||||
return &DeleteMyModelLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *DeleteMyModelLogic) DeleteMyModel(in *octopus.DeleteMyModelReq) (*octopus.DeleteMyModelResp, error) {
|
|
||||||
resp := &octopus.DeleteMyModelResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DeleteMyModel
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetPathParam("modelId", in.ModelId).
|
|
||||||
SetResult(resp).
|
|
||||||
Delete(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,53 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type DeleteNotebookLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewDeleteNotebookLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteNotebookLogic {
|
|
||||||
return &DeleteNotebookLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *DeleteNotebookLogic) DeleteNotebook(in *octopus.DeleteNotebookReq) (*octopus.DeleteNotebookResp, error) {
|
|
||||||
resp := &octopus.DeleteNotebookResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DeleteNotebook
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetPathParam("id", in.Id).
|
|
||||||
SetResult(resp).
|
|
||||||
Delete(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,59 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type DeleteTrainJobLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewDeleteTrainJobLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteTrainJobLogic {
|
|
||||||
return &DeleteTrainJobLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *DeleteTrainJobLogic) DeleteTrainJob(in *octopus.DeleteTrainJobReq) (*octopus.DeleteTrainJobResp, error) {
|
|
||||||
resp := &octopus.DeleteTrainJobResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DeleteTrainJob
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
|
|
||||||
var queryStr string
|
|
||||||
for _, s := range in.GetJobIds() {
|
|
||||||
queryStr += "jobIds=" + s + "&"
|
|
||||||
}
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetQueryString(queryStr).
|
|
||||||
SetResult(resp).
|
|
||||||
Delete(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,54 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type DownloadAlgorithmLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewDownloadAlgorithmLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DownloadAlgorithmLogic {
|
|
||||||
return &DownloadAlgorithmLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *DownloadAlgorithmLogic) DownloadAlgorithm(in *octopus.DownloadAlgorithmReq) (*octopus.DownloadAlgorithmResp, error) {
|
|
||||||
resp := &octopus.DownloadAlgorithmResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DownloadAlgorithm
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetPathParam("algorithmId", in.AlgorithmId).
|
|
||||||
SetPathParam("version", in.Version).
|
|
||||||
SetResult(resp).
|
|
||||||
Get(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,54 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type DownloadModelVersionLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewDownloadModelVersionLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DownloadModelVersionLogic {
|
|
||||||
return &DownloadModelVersionLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *DownloadModelVersionLogic) DownloadModelVersion(in *octopus.DownloadModelVersionReq) (*octopus.DownloadModelVersionResp, error) {
|
|
||||||
resp := &octopus.DownloadModelVersionResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DownloadModelVersion
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetPathParam("modelId", in.ModelId).
|
|
||||||
SetPathParam("version", in.Version).
|
|
||||||
SetQueryString("domain=" + in.Domain).
|
|
||||||
SetResult(resp).
|
|
||||||
Get(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,56 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
"strconv"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type GetAlgorithmApplyListLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewGetAlgorithmApplyListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetAlgorithmApplyListLogic {
|
|
||||||
return &GetAlgorithmApplyListLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *GetAlgorithmApplyListLogic) GetAlgorithmApplyList(in *octopus.GetAlgorithmApplyListReq) (*octopus.GetAlgorithmApplyListResp, error) {
|
|
||||||
resp := &octopus.GetAlgorithmApplyListResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.GetAlgorithmApplyList
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetQueryString("pageIndex=" + strconv.Itoa(int(in.PageIndex))).
|
|
||||||
SetQueryString("pageSize=" + strconv.Itoa(int(in.PageSize))).
|
|
||||||
SetResult(resp).
|
|
||||||
Get(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,56 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
"strconv"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type GetAlgorithmFrameworkListLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewGetAlgorithmFrameworkListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetAlgorithmFrameworkListLogic {
|
|
||||||
return &GetAlgorithmFrameworkListLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *GetAlgorithmFrameworkListLogic) GetAlgorithmFrameworkList(in *octopus.GetAlgorithmFrameworkListReq) (*octopus.GetAlgorithmFrameworkListResp, error) {
|
|
||||||
resp := &octopus.GetAlgorithmFrameworkListResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.GetAlgorithmFrameworkList
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetQueryString("pageIndex=" + strconv.Itoa(int(in.PageIndex))).
|
|
||||||
SetQueryString("pageSize=" + strconv.Itoa(int(in.PageSize))).
|
|
||||||
SetResult(resp).
|
|
||||||
Get(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,57 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
"strconv"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type GetAlgorithmListLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewGetAlgorithmListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetAlgorithmListLogic {
|
|
||||||
return &GetAlgorithmListLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *GetAlgorithmListLogic) GetAlgorithmList(in *octopus.GetAlgorithmListReq) (*octopus.GetAlgorithmListResp, error) {
|
|
||||||
resp := &octopus.GetAlgorithmListResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.GetAlgorithmList
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetQueryString("pageIndex="+strconv.Itoa(int(in.PageIndex))).
|
|
||||||
SetQueryString("pageSize="+strconv.Itoa(int(in.PageSize))).
|
|
||||||
SetPathParam("algorithmId", in.AlgorithmId).
|
|
||||||
SetResult(resp).
|
|
||||||
Get(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,54 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type GetAlgorithmLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewGetAlgorithmLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetAlgorithmLogic {
|
|
||||||
return &GetAlgorithmLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *GetAlgorithmLogic) GetAlgorithm(in *octopus.GetAlgorithmReq) (*octopus.GetAlgorithmResp, error) {
|
|
||||||
resp := &octopus.GetAlgorithmResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.GetAlgorithm
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetPathParam("algorithmId", in.AlgorithmId).
|
|
||||||
SetPathParam("version", in.Version).
|
|
||||||
SetResult(resp).
|
|
||||||
Get(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,128 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/config"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
"context"
|
|
||||||
"encoding/json"
|
|
||||||
"github.com/go-redis/redis"
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
"log"
|
|
||||||
"strconv"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
type GetComputingPowerLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewGetComputingPowerLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetComputingPowerLogic {
|
|
||||||
return &GetComputingPowerLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *GetComputingPowerLogic) GetComputingPower(in *octopus.ResourceReq) (*octopus.CpResp, error) {
|
|
||||||
var resp octopus.CpResp
|
|
||||||
var cp float32
|
|
||||||
|
|
||||||
redisClient := redis.NewClient(&redis.Options{
|
|
||||||
Addr: l.svcCtx.Config.RedisConf.Host,
|
|
||||||
Password: l.svcCtx.Config.RedisConf.Pass,
|
|
||||||
})
|
|
||||||
|
|
||||||
defer redisClient.Close()
|
|
||||||
_, err := redisClient.Ping().Result()
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
log.Println("redis连接失败", err)
|
|
||||||
cp = getCPFromOctopus()
|
|
||||||
redisClient.Set(l.svcCtx.Config.OctopusConfig.OctopusCp, cp, 168*time.Hour)
|
|
||||||
} else {
|
|
||||||
res, err := redisClient.Get(l.svcCtx.Config.OctopusConfig.OctopusCp).Float32()
|
|
||||||
if err == redis.Nil {
|
|
||||||
log.Println("redis key未找到或已过期,重新请求")
|
|
||||||
cp = getCPFromOctopus()
|
|
||||||
redisClient.Set(l.svcCtx.Config.OctopusConfig.OctopusCp, cp, 168*time.Hour)
|
|
||||||
} else {
|
|
||||||
cp = res
|
|
||||||
}
|
|
||||||
}
|
|
||||||
resp.POpsAtFp16 = cp
|
|
||||||
return &resp, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func getCPFromOctopus() float32 {
|
|
||||||
octopusConfig := config.Cfg
|
|
||||||
|
|
||||||
urlMap := map[string]string{
|
|
||||||
common.Hanwuji: octopusConfig.OctopusConfig.HanwujiUrl + octopusConfig.OctopusConfig.OctopusResouceSpec,
|
|
||||||
common.Suiyuan: octopusConfig.OctopusConfig.SuiyuanUrl + octopusConfig.OctopusConfig.OctopusResouceSpec,
|
|
||||||
common.Sailingsi: octopusConfig.OctopusConfig.SailingsiUrl + octopusConfig.OctopusConfig.OctopusResouceSpec,
|
|
||||||
}
|
|
||||||
|
|
||||||
var computingPowerInTops int32
|
|
||||||
for k, v := range urlMap {
|
|
||||||
token := common.GetToken(k)
|
|
||||||
if token == "" {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
body, err := common.OctopusHttpClient("GET", v, nil, token)
|
|
||||||
if err != nil {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
//获取训练资源算力
|
|
||||||
switch k {
|
|
||||||
case common.Hanwuji:
|
|
||||||
resourceSpec := common.HanwujiResp{}
|
|
||||||
err := json.Unmarshal(body, &resourceSpec)
|
|
||||||
if err != nil {
|
|
||||||
log.Println("Hanwuji json转换失败 : ", err)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if !resourceSpec.Success {
|
|
||||||
log.Println("Hanwuji 获取训练资源失败 : ", resourceSpec.Error)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
for _, spec := range resourceSpec.Payload.MapResourceSpecIdList.Train.ResourceSpecs {
|
|
||||||
numOfCards, err := strconv.ParseInt(spec.ResourceQuantity.CambriconComMlu, 10, 32)
|
|
||||||
if err != nil {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
computingPowerInTops += octopusConfig.OctopusConfig.CambriconMLU290 * int32(numOfCards)
|
|
||||||
}
|
|
||||||
case common.Suiyuan:
|
|
||||||
resourceSpec := common.SuiyuanResp{}
|
|
||||||
err := json.Unmarshal(body, &resourceSpec)
|
|
||||||
if err != nil {
|
|
||||||
log.Println("Suiyuan json转换失败 : ", err)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if !resourceSpec.Success {
|
|
||||||
log.Println("Suiyuan 获取训练资源失败 : ", resourceSpec.Error)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
for _, spec := range resourceSpec.Payload.MapResourceSpecIdList.Train.ResourceSpecs {
|
|
||||||
numOfCards, err := strconv.ParseInt(spec.ResourceQuantity.EnflameComDtu, 10, 32)
|
|
||||||
if err != nil {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
computingPowerInTops += octopusConfig.OctopusConfig.EnflameT20 * int32(numOfCards)
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if computingPowerInTops == 0 {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
return float32(computingPowerInTops) / 1024
|
|
||||||
}
|
|
|
@ -1,56 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
"strconv"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type GetDatasetApplyListLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewGetDatasetApplyListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetDatasetApplyListLogic {
|
|
||||||
return &GetDatasetApplyListLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *GetDatasetApplyListLogic) GetDatasetApplyList(in *octopus.GetDatasetApplyListReq) (*octopus.GetDatasetApplyListResp, error) {
|
|
||||||
resp := &octopus.GetDatasetApplyListResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.GetDatasetApplyList
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetQueryString("pageIndex=" + strconv.Itoa(int(in.PageIndex))).
|
|
||||||
SetQueryString("pageSize=" + strconv.Itoa(int(in.PageSize))).
|
|
||||||
SetResult(resp).
|
|
||||||
Get(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,56 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
"strconv"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type GetDatasetTypeListLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewGetDatasetTypeListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetDatasetTypeListLogic {
|
|
||||||
return &GetDatasetTypeListLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *GetDatasetTypeListLogic) GetDatasetTypeList(in *octopus.GetDatasetTypeListRep) (*octopus.GetDatasetTypeListResp, error) {
|
|
||||||
resp := &octopus.GetDatasetTypeListResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.GetDatasetTypeList
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetQueryString("pageIndex=" + strconv.Itoa(int(in.PageIndex))).
|
|
||||||
SetQueryString("pageSize=" + strconv.Itoa(int(in.PageSize))).
|
|
||||||
SetResult(resp).
|
|
||||||
Get(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
|
@ -1,57 +0,0 @@
|
||||||
package logic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common"
|
|
||||||
"PCM/common/tool"
|
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"log"
|
|
||||||
"strconv"
|
|
||||||
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc"
|
|
||||||
"PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus"
|
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type GetDatasetVersionListLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewGetDatasetVersionListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetDatasetVersionListLogic {
|
|
||||||
return &GetDatasetVersionListLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l *GetDatasetVersionListLogic) GetDatasetVersionList(in *octopus.GetDatasetVersionListReq) (*octopus.GetDatasetVersionListResp, error) {
|
|
||||||
resp := &octopus.GetDatasetVersionListResp{}
|
|
||||||
|
|
||||||
var url_prefix = common.OctopusUrls[in.Platform]
|
|
||||||
var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.GetDatasetVersionList
|
|
||||||
|
|
||||||
token := common.GetToken(in.Platform)
|
|
||||||
if token == "" {
|
|
||||||
log.Println("获取token失败, platform : ", in.Platform)
|
|
||||||
return nil, errors.New("获取token失败")
|
|
||||||
}
|
|
||||||
|
|
||||||
req := tool.GetACHttpRequest()
|
|
||||||
_, err := req.
|
|
||||||
SetHeader("Authorization", "Bearer "+token).
|
|
||||||
SetPathParam("datasetId", in.DatasetId).
|
|
||||||
SetQueryString("pageIndex=" + strconv.Itoa(int(in.PageIndex))).
|
|
||||||
SetQueryString("pageSize=" + strconv.Itoa(int(in.PageSize))).
|
|
||||||
SetResult(resp).
|
|
||||||
Get(reqUrl)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue