服务创建、服务列表合并分支

This commit is contained in:
Diva123456 2023-02-27 17:13:18 +08:00
parent ec5f2d3eea
commit 12975b0606
8 changed files with 2086 additions and 659 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -50,3 +50,14 @@ func (s *ModelArtsServer) GetExportTasksOfDataset(ctx context.Context, in *model
l := logic.NewGetExportTasksOfDatasetLogic(ctx, s.svcCtx)
return l.GetExportTasksOfDataset(in)
}
// service management
func (s *ModelArtsServer) CreateService(ctx context.Context, in *modelarts.CreatServiceReq) (*modelarts.CreatServiceResp, 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)
}

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
// - protoc v3.12.4
// - protoc v3.19.4
// source: modelarts.proto
package modelarts
@ -25,12 +25,15 @@ type ModelArtsClient interface {
// get modelarts Token
GetToken(ctx context.Context, in *TokenReq, opts ...grpc.CallOption) (*TokenResp, error)
// creat task
CreateTask(ctx context.Context, in *ImportTaskData, opts ...grpc.CallOption) (*ExportTaskData, error)
CreateTask(ctx context.Context, in *ImportTaskData, opts ...grpc.CallOption) (*ImprotTaskDataReq, error)
// find taskList
GetDatasetList(ctx context.Context, in *ListImportTasks, opts ...grpc.CallOption) (*ReturnListImportTasks, error)
//export task
ExportTask(ctx context.Context, in *ExportTaskReq, opts ...grpc.CallOption) (*ExportTaskResp, error)
GetExportTasksOfDataset(ctx context.Context, in *GetExportTasksOfDatasetReq, opts ...grpc.CallOption) (*GetExportTasksOfDatasetResp, error)
// service management
CreateService(ctx context.Context, in *CreatServiceReq, opts ...grpc.CallOption) (*CreatServiceResp, error)
ListServices(ctx context.Context, in *ListServicesReq, opts ...grpc.CallOption) (*ListServicesResp, error)
}
type modelArtsClient struct {
@ -50,8 +53,8 @@ func (c *modelArtsClient) GetToken(ctx context.Context, in *TokenReq, opts ...gr
return out, nil
}
func (c *modelArtsClient) CreateTask(ctx context.Context, in *ImportTaskData, opts ...grpc.CallOption) (*ExportTaskData, error) {
out := new(ExportTaskData)
func (c *modelArtsClient) CreateTask(ctx context.Context, in *ImportTaskData, opts ...grpc.CallOption) (*ImprotTaskDataReq, error) {
out := new(ImprotTaskDataReq)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/createTask", in, out, opts...)
if err != nil {
return nil, err
@ -86,6 +89,24 @@ func (c *modelArtsClient) GetExportTasksOfDataset(ctx context.Context, in *GetEx
return out, nil
}
func (c *modelArtsClient) CreateService(ctx context.Context, in *CreatServiceReq, opts ...grpc.CallOption) (*CreatServiceResp, error) {
out := new(CreatServiceResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/CreateService", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *modelArtsClient) ListServices(ctx context.Context, in *ListServicesReq, opts ...grpc.CallOption) (*ListServicesResp, error) {
out := new(ListServicesResp)
err := c.cc.Invoke(ctx, "/modelarts.ModelArts/ListServices", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// ModelArtsServer is the server API for ModelArts service.
// All implementations must embed UnimplementedModelArtsServer
// for forward compatibility
@ -93,12 +114,15 @@ type ModelArtsServer interface {
// get modelarts Token
GetToken(context.Context, *TokenReq) (*TokenResp, error)
// creat task
CreateTask(context.Context, *ImportTaskData) (*ExportTaskData, error)
CreateTask(context.Context, *ImportTaskData) (*ImprotTaskDataReq, error)
// find taskList
GetDatasetList(context.Context, *ListImportTasks) (*ReturnListImportTasks, error)
//export task
ExportTask(context.Context, *ExportTaskReq) (*ExportTaskResp, error)
GetExportTasksOfDataset(context.Context, *GetExportTasksOfDatasetReq) (*GetExportTasksOfDatasetResp, error)
// service management
CreateService(context.Context, *CreatServiceReq) (*CreatServiceResp, error)
ListServices(context.Context, *ListServicesReq) (*ListServicesResp, error)
mustEmbedUnimplementedModelArtsServer()
}
@ -109,7 +133,7 @@ type UnimplementedModelArtsServer struct {
func (UnimplementedModelArtsServer) GetToken(context.Context, *TokenReq) (*TokenResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetToken not implemented")
}
func (UnimplementedModelArtsServer) CreateTask(context.Context, *ImportTaskData) (*ExportTaskData, error) {
func (UnimplementedModelArtsServer) CreateTask(context.Context, *ImportTaskData) (*ImprotTaskDataReq, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateTask not implemented")
}
func (UnimplementedModelArtsServer) GetDatasetList(context.Context, *ListImportTasks) (*ReturnListImportTasks, error) {
@ -121,6 +145,12 @@ func (UnimplementedModelArtsServer) ExportTask(context.Context, *ExportTaskReq)
func (UnimplementedModelArtsServer) GetExportTasksOfDataset(context.Context, *GetExportTasksOfDatasetReq) (*GetExportTasksOfDatasetResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetExportTasksOfDataset not implemented")
}
func (UnimplementedModelArtsServer) CreateService(context.Context, *CreatServiceReq) (*CreatServiceResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateService not implemented")
}
func (UnimplementedModelArtsServer) ListServices(context.Context, *ListServicesReq) (*ListServicesResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListServices not implemented")
}
func (UnimplementedModelArtsServer) mustEmbedUnimplementedModelArtsServer() {}
// UnsafeModelArtsServer may be embedded to opt out of forward compatibility for this service.
@ -224,6 +254,42 @@ func _ModelArts_GetExportTasksOfDataset_Handler(srv interface{}, ctx context.Con
return interceptor(ctx, in, info, handler)
}
func _ModelArts_CreateService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreatServiceReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ModelArtsServer).CreateService(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/CreateService",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).CreateService(ctx, req.(*CreatServiceReq))
}
return interceptor(ctx, in, info, handler)
}
func _ModelArts_ListServices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListServicesReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ModelArtsServer).ListServices(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/modelarts.ModelArts/ListServices",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ModelArtsServer).ListServices(ctx, req.(*ListServicesReq))
}
return interceptor(ctx, in, info, handler)
}
// ModelArts_ServiceDesc is the grpc.ServiceDesc for ModelArts service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
@ -251,6 +317,14 @@ var ModelArts_ServiceDesc = grpc.ServiceDesc{
MethodName: "GetExportTasksOfDataset",
Handler: _ModelArts_GetExportTasksOfDataset_Handler,
},
{
MethodName: "CreateService",
Handler: _ModelArts_CreateService_Handler,
},
{
MethodName: "ListServices",
Handler: _ModelArts_ListServices_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "modelarts.proto",

View File

@ -15,11 +15,12 @@ import (
type (
AnnotationFormatConfig = modelarts.AnnotationFormatConfig
Auth = modelarts.Auth
BodyTaskData = modelarts.BodyTaskData
CreatServiceReq = modelarts.CreatServiceReq
CreatServiceResp = modelarts.CreatServiceResp
CustomSpec = modelarts.CustomSpec
DataSource = modelarts.DataSource
Domain = modelarts.Domain
ExportParams = modelarts.ExportParams
ExportTaskData = modelarts.ExportTaskData
ExportTaskReq = modelarts.ExportTaskReq
ExportTaskResp = modelarts.ExportTaskResp
ExportTaskStatus = modelarts.ExportTaskStatus
@ -29,17 +30,23 @@ type (
Identity = modelarts.Identity
ImportTaskData = modelarts.ImportTaskData
ImportTasks = modelarts.ImportTasks
ImprotTaskDataReq = modelarts.ImprotTaskDataReq
ListImportTasks = modelarts.ListImportTasks
ListServices = modelarts.ListServices
ListServicesReq = modelarts.ListServicesReq
ListServicesResp = modelarts.ListServicesResp
Methods = modelarts.Methods
Password = modelarts.Password
Project = modelarts.Project
ReturnListImportTasks = modelarts.ReturnListImportTasks
Scheduler = modelarts.Scheduler
SchemaMaps = modelarts.SchemaMaps
Scope = modelarts.Scope
SearchCondition = modelarts.SearchCondition
SearchLabel = modelarts.SearchLabel
SearchLabels = modelarts.SearchLabels
SearchProp = modelarts.SearchProp
ServiceConfig = modelarts.ServiceConfig
SourceInfo = modelarts.SourceInfo
TokenReq = modelarts.TokenReq
TokenResp = modelarts.TokenResp
@ -50,12 +57,15 @@ type (
// get modelarts Token
GetToken(ctx context.Context, in *TokenReq, opts ...grpc.CallOption) (*TokenResp, error)
// creat task
CreateTask(ctx context.Context, in *ImportTaskData, opts ...grpc.CallOption) (*ExportTaskData, error)
CreateTask(ctx context.Context, in *ImportTaskData, opts ...grpc.CallOption) (*ImprotTaskDataReq, error)
// find taskList
GetDatasetList(ctx context.Context, in *ListImportTasks, opts ...grpc.CallOption) (*ReturnListImportTasks, error)
// export task
ExportTask(ctx context.Context, in *ExportTaskReq, opts ...grpc.CallOption) (*ExportTaskResp, error)
GetExportTasksOfDataset(ctx context.Context, in *GetExportTasksOfDatasetReq, opts ...grpc.CallOption) (*GetExportTasksOfDatasetResp, error)
// service management
CreateService(ctx context.Context, in *CreatServiceReq, opts ...grpc.CallOption) (*CreatServiceResp, error)
ListServices(ctx context.Context, in *ListServicesReq, opts ...grpc.CallOption) (*ListServicesResp, error)
}
defaultModelArts struct {
@ -76,7 +86,7 @@ func (m *defaultModelArts) GetToken(ctx context.Context, in *TokenReq, opts ...g
}
// creat task
func (m *defaultModelArts) CreateTask(ctx context.Context, in *ImportTaskData, opts ...grpc.CallOption) (*ExportTaskData, error) {
func (m *defaultModelArts) CreateTask(ctx context.Context, in *ImportTaskData, opts ...grpc.CallOption) (*ImprotTaskDataReq, error) {
client := modelarts.NewModelArtsClient(m.cli.Conn())
return client.CreateTask(ctx, in, opts...)
}
@ -97,3 +107,14 @@ func (m *defaultModelArts) GetExportTasksOfDataset(ctx context.Context, in *GetE
client := modelarts.NewModelArtsClient(m.cli.Conn())
return client.GetExportTasksOfDataset(ctx, in, opts...)
}
// service management
func (m *defaultModelArts) CreateService(ctx context.Context, in *CreatServiceReq, opts ...grpc.CallOption) (*CreatServiceResp, 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...)
}

View File

@ -48,6 +48,7 @@ message TokenResp{
}
/******************auth end*************************/
/******************find datasetList start*************************/
/******************createTaskData start*************************/
message ImportTaskData{
@ -288,6 +289,113 @@ message ExportTaskStatus {
}
/******************Get Export Tasks Of Dataset End*************************/
/******************Create Service Start*************************/
message CreatServiceReq{
string workspace_id = 1;
Scheduler schedule = 2;
string cluster_id = 3;
string infer_type = 4;
string vpc_id = 5;
string service_name = 6;
string description = 7;
string security_group_id = 8;
string subnet_network_id = 9;
repeated ServiceConfig config = 10;
string project_id = 11;
}
message CreatServiceResp{
uint32 code = 1; // @gotags: copier:"Code"
string service_id = 2;
repeated string resource_ids = 3;
}
message Scheduler{
int32 duration = 1;
string time_unit = 2;
string type = 3;
}
message ServiceConfig{
CustomSpec custom_spec = 1;
map<string,string> envs = 2;
string specification = 3;
int32 weight = 4;
string model_id = 5;
string src_path = 6;
string req_uri = 7;
string mapping_type = 8;
string cluster_id = 9;
repeated string nodes = 10;
string src_type = 11;
string dest_path = 12;
int32 instance_count = 13;
}
message CustomSpec{
float gpu_p4 = 1;
int64 memory = 2;
float cpu = 3;
int64 ascend_a310 = 4;
}
/******************Create Service End*************************/
/******************List Services Start*************************/
message ListServicesReq{
string service_id = 1;
string service_name = 2;
string model_id = 3;
string workspace_id = 4;
string infer_type = 5;
string status = 6;
int32 offset = 7;
int32 limit = 8;
string sort_by = 9;
string order = 10;
string project_id = 11;
}
message ListServicesResp{
int32 code = 1; // @gotags: copier:"Code"
int32 total_count = 2;
int32 count = 3;
repeated ListServices services = 4;
}
message ListServices{
uint32 failed_times = 1;
string owner = 2;
int32 due_time = 3;
int32 finished_time = 4;
string infer_type = 5;
string service_name = 6;
string description = 7;
string project = 8;
uint32 invocation_times = 9;
uint32 publish_at = 10;
string workspace_id = 11;
repeated Scheduler scheduler = 12;
int32 start_time = 13;
string operation_time = 14;
bool is_shared = 15;
string service_id = 16;
int32 progress = 17;
int32 shared_count = 18;
string tenant = 19;
string status = 20;
string is_opened_sample_collection = 21;
int32 transition_at = 22;
bool is_free = 23;
map<string,string> additional_properties = 24;
}
/******************List Services End*************************/
// Slurm Services for Shuguang Branch
service ModelArts {
@ -304,5 +412,8 @@ service ModelArts {
rpc ExportTask(ExportTaskReq) returns (ExportTaskResp);
rpc GetExportTasksOfDataset(GetExportTasksOfDatasetReq) returns (GetExportTasksOfDatasetResp);
//service management
rpc CreateService(CreatServiceReq) returns (CreatServiceResp);
rpc ListServices(ListServicesReq) returns (ListServicesResp);
}

3
go.mod
View File

@ -11,6 +11,7 @@ require (
github.com/zeromicro/go-zero v1.4.4
google.golang.org/grpc v1.53.0
google.golang.org/protobuf v1.28.1
k8s.io/apimachinery v0.22.9
sigs.k8s.io/yaml v1.3.0
)
@ -24,7 +25,6 @@ require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
github.com/fatih/color v1.13.0 // indirect
github.com/favadi/protoc-go-inject-tag v1.4.0 // indirect
github.com/felixge/fgprof v0.9.3 // indirect
github.com/go-logr/logr v1.2.3 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
@ -81,7 +81,6 @@ require (
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
k8s.io/api v0.22.9 // indirect
k8s.io/apimachinery v0.22.9 // indirect
k8s.io/client-go v0.22.9 // indirect
k8s.io/klog/v2 v2.80.1 // indirect
k8s.io/utils v0.0.0-20221108210102-8e77b1f39fe2 // indirect