fix:提交openstack代码

This commit is contained in:
qiwang 2023-10-19 12:51:36 +08:00
parent dcac09dc15
commit d2e46b766c
6 changed files with 1870 additions and 1025 deletions

View File

@ -0,0 +1,52 @@
package logic
import (
"context"
"fmt"
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/common"
"gitlink.org.cn/jcce-pcm/utils/tool"
"k8s.io/apimachinery/pkg/util/json"
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack"
"github.com/zeromicro/go-zero/core/logx"
)
type GetVolumeDetailedByIdLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewGetVolumeDetailedByIdLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetVolumeDetailedByIdLogic {
return &GetVolumeDetailedByIdLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *GetVolumeDetailedByIdLogic) GetVolumeDetailedById(in *openstack.GetVolumeDetailedByIdReq) (*openstack.GetVolumeDetailedByIdResp, error) {
// todo: add your logic here and delete this line
var resp openstack.GetVolumeDetailedByIdResp
openstackUrl := l.svcCtx.Config.OpenstackVolumev2Url
token := common.GetToken()
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, openstackUrl+"/volumes/"+in.VolumeId, nil, token)
if err != nil {
return nil, err
}
if statusCode == 200 {
err := json.Unmarshal(body, &resp)
if err != nil {
fmt.Println(err)
}
resp.Code = 200
resp.Msg = "Success"
} else if statusCode != 200 {
json.Unmarshal(body, &resp)
resp.Code = 400
resp.Msg = "Failure"
}
return &resp, nil
}

View File

@ -193,6 +193,11 @@ func (s *OpenstackServer) UpdateVolume(ctx context.Context, in *openstack.Update
return l.UpdateVolume(in)
}
func (s *OpenstackServer) GetVolumeDetailedById(ctx context.Context, in *openstack.GetVolumeDetailedByIdReq) (*openstack.GetVolumeDetailedByIdResp, error) {
l := logic.NewGetVolumeDetailedByIdLogic(ctx, s.svcCtx)
return l.GetVolumeDetailedById(in)
}
func (s *OpenstackServer) ListVolumeTypes(ctx context.Context, in *openstack.ListVolumeTypesReq) (*openstack.ListVolumeTypesResp, error) {
l := logic.NewListVolumeTypesLogic(ctx, s.svcCtx)
return l.ListVolumeTypes(in)

File diff suppressed because it is too large Load Diff

View File

@ -52,6 +52,7 @@ const (
Openstack_CreateVolume_FullMethodName = "/openstack.Openstack/CreateVolume"
Openstack_DeleteVolume_FullMethodName = "/openstack.Openstack/DeleteVolume"
Openstack_UpdateVolume_FullMethodName = "/openstack.Openstack/UpdateVolume"
Openstack_GetVolumeDetailedById_FullMethodName = "/openstack.Openstack/GetVolumeDetailedById"
Openstack_ListVolumeTypes_FullMethodName = "/openstack.Openstack/ListVolumeTypes"
Openstack_CreateVolumeTypes_FullMethodName = "/openstack.Openstack/CreateVolumeTypes"
Openstack_DeleteVolumeTypes_FullMethodName = "/openstack.Openstack/DeleteVolumeTypes"
@ -100,6 +101,7 @@ type OpenstackClient interface {
CreateVolume(ctx context.Context, in *CreateVolumeReq, opts ...grpc.CallOption) (*CreateVolumeResp, error)
DeleteVolume(ctx context.Context, in *DeleteVolumeReq, opts ...grpc.CallOption) (*DeleteVolumeResp, error)
UpdateVolume(ctx context.Context, in *UpdateVolumeReq, opts ...grpc.CallOption) (*UpdateVolumeResp, error)
GetVolumeDetailedById(ctx context.Context, in *GetVolumeDetailedByIdReq, opts ...grpc.CallOption) (*GetVolumeDetailedByIdResp, error)
ListVolumeTypes(ctx context.Context, in *ListVolumeTypesReq, opts ...grpc.CallOption) (*ListVolumeTypesResp, error)
CreateVolumeTypes(ctx context.Context, in *CreateVolumeTypeReq, opts ...grpc.CallOption) (*CreateVolumeTypeResp, error)
DeleteVolumeTypes(ctx context.Context, in *DeleteVolumeTypeReq, opts ...grpc.CallOption) (*DeleteVolumeTypeResp, error)
@ -410,6 +412,15 @@ func (c *openstackClient) UpdateVolume(ctx context.Context, in *UpdateVolumeReq,
return out, nil
}
func (c *openstackClient) GetVolumeDetailedById(ctx context.Context, in *GetVolumeDetailedByIdReq, opts ...grpc.CallOption) (*GetVolumeDetailedByIdResp, error) {
out := new(GetVolumeDetailedByIdResp)
err := c.cc.Invoke(ctx, Openstack_GetVolumeDetailedById_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *openstackClient) ListVolumeTypes(ctx context.Context, in *ListVolumeTypesReq, opts ...grpc.CallOption) (*ListVolumeTypesResp, error) {
out := new(ListVolumeTypesResp)
err := c.cc.Invoke(ctx, Openstack_ListVolumeTypes_FullMethodName, in, out, opts...)
@ -480,6 +491,7 @@ type OpenstackServer interface {
CreateVolume(context.Context, *CreateVolumeReq) (*CreateVolumeResp, error)
DeleteVolume(context.Context, *DeleteVolumeReq) (*DeleteVolumeResp, error)
UpdateVolume(context.Context, *UpdateVolumeReq) (*UpdateVolumeResp, error)
GetVolumeDetailedById(context.Context, *GetVolumeDetailedByIdReq) (*GetVolumeDetailedByIdResp, error)
ListVolumeTypes(context.Context, *ListVolumeTypesReq) (*ListVolumeTypesResp, error)
CreateVolumeTypes(context.Context, *CreateVolumeTypeReq) (*CreateVolumeTypeResp, error)
DeleteVolumeTypes(context.Context, *DeleteVolumeTypeReq) (*DeleteVolumeTypeResp, error)
@ -589,6 +601,9 @@ func (UnimplementedOpenstackServer) DeleteVolume(context.Context, *DeleteVolumeR
func (UnimplementedOpenstackServer) UpdateVolume(context.Context, *UpdateVolumeReq) (*UpdateVolumeResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateVolume not implemented")
}
func (UnimplementedOpenstackServer) GetVolumeDetailedById(context.Context, *GetVolumeDetailedByIdReq) (*GetVolumeDetailedByIdResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetVolumeDetailedById not implemented")
}
func (UnimplementedOpenstackServer) ListVolumeTypes(context.Context, *ListVolumeTypesReq) (*ListVolumeTypesResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListVolumeTypes not implemented")
}
@ -1205,6 +1220,24 @@ func _Openstack_UpdateVolume_Handler(srv interface{}, ctx context.Context, dec f
return interceptor(ctx, in, info, handler)
}
func _Openstack_GetVolumeDetailedById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetVolumeDetailedByIdReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OpenstackServer).GetVolumeDetailedById(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Openstack_GetVolumeDetailedById_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OpenstackServer).GetVolumeDetailedById(ctx, req.(*GetVolumeDetailedByIdReq))
}
return interceptor(ctx, in, info, handler)
}
func _Openstack_ListVolumeTypes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListVolumeTypesReq)
if err := dec(in); err != nil {
@ -1398,6 +1431,10 @@ var Openstack_ServiceDesc = grpc.ServiceDesc{
MethodName: "UpdateVolume",
Handler: _Openstack_UpdateVolume_Handler,
},
{
MethodName: "GetVolumeDetailedById",
Handler: _Openstack_GetVolumeDetailedById_Handler,
},
{
MethodName: "ListVolumeTypes",
Handler: _Openstack_ListVolumeTypes_Handler,

View File

@ -102,6 +102,12 @@ type (
GetServersDetailedByIdResp_Private = openstack.GetServersDetailedByIdResp_Private
GetServersDetailedByIdResp_SecurityGroups = openstack.GetServersDetailedByIdResp_SecurityGroups
GetServersDetailedByIdResp_Servers = openstack.GetServersDetailedByIdResp_Servers
GetVolumeDetailedByIdReq = openstack.GetVolumeDetailedByIdReq
GetVolumeDetailedByIdResp = openstack.GetVolumeDetailedByIdResp
GetVolumeDetailedByIdResp_Attachments = openstack.GetVolumeDetailedByIdResp_Attachments
GetVolumeDetailedByIdResp_Links = openstack.GetVolumeDetailedByIdResp_Links
GetVolumeDetailedByIdResp_Metadata = openstack.GetVolumeDetailedByIdResp_Metadata
GetVolumeDetailedByIdResp_Volume = openstack.GetVolumeDetailedByIdResp_Volume
GetVolumeLimitsReq = openstack.GetVolumeLimitsReq
GetVolumeLimitsResp = openstack.GetVolumeLimitsResp
GetVolumeLimitsResp_Absolute = openstack.GetVolumeLimitsResp_Absolute
@ -257,6 +263,7 @@ type (
CreateVolume(ctx context.Context, in *CreateVolumeReq, opts ...grpc.CallOption) (*CreateVolumeResp, error)
DeleteVolume(ctx context.Context, in *DeleteVolumeReq, opts ...grpc.CallOption) (*DeleteVolumeResp, error)
UpdateVolume(ctx context.Context, in *UpdateVolumeReq, opts ...grpc.CallOption) (*UpdateVolumeResp, error)
GetVolumeDetailedById(ctx context.Context, in *GetVolumeDetailedByIdReq, opts ...grpc.CallOption) (*GetVolumeDetailedByIdResp, error)
ListVolumeTypes(ctx context.Context, in *ListVolumeTypesReq, opts ...grpc.CallOption) (*ListVolumeTypesResp, error)
CreateVolumeTypes(ctx context.Context, in *CreateVolumeTypeReq, opts ...grpc.CallOption) (*CreateVolumeTypeResp, error)
DeleteVolumeTypes(ctx context.Context, in *DeleteVolumeTypeReq, opts ...grpc.CallOption) (*DeleteVolumeTypeResp, error)
@ -444,6 +451,11 @@ func (m *defaultOpenstack) UpdateVolume(ctx context.Context, in *UpdateVolumeReq
return client.UpdateVolume(ctx, in, opts...)
}
func (m *defaultOpenstack) GetVolumeDetailedById(ctx context.Context, in *GetVolumeDetailedByIdReq, opts ...grpc.CallOption) (*GetVolumeDetailedByIdResp, error) {
client := openstack.NewOpenstackClient(m.cli.Conn())
return client.GetVolumeDetailedById(ctx, in, opts...)
}
func (m *defaultOpenstack) ListVolumeTypes(ctx context.Context, in *ListVolumeTypesReq, opts ...grpc.CallOption) (*ListVolumeTypesResp, error) {
client := openstack.NewOpenstackClient(m.cli.Conn())
return client.ListVolumeTypes(ctx, in, opts...)

View File

@ -738,8 +738,7 @@ message ListFlavorsDetailResp{
/******************networks*************************/
/******************Show network details Start*************************/
message ShowNetworkDetailsReq{
string network_id = 1; //ID
// string fields = 2; //
string network_id = 1; //ID // @gotags: copier:"NetworkId"
}
message Network{
@ -1905,6 +1904,57 @@ message UpdateVolumeResp{
string error_msg =4;// @gotags: copier:"ErrorMsg"
}
message GetVolumeDetailedByIdReq{
string volume_id = 1;
}
message GetVolumeDetailedByIdResp{
message Links {
string href = 1;
string rel = 2;
}
message Metadata {
}
message Attachments {
}
message Volume {
repeated Attachments attachments = 1;
string availability_zone = 2;
string bootable = 3;
string consistencygroup_id = 4;
string created_at = 5;
string description = 6;
bool encrypted = 7;
string id = 8;
repeated Links links = 9;
Metadata metadata = 10;
string migration_status = 11;
bool multiattach = 12;
string name = 13;
string replication_status = 18;
uint32 size = 19;
string snapshot_id = 20;
string source_volid = 21;
string status = 22;
string updated_at = 23;
string user_id = 24;
string volume_type = 25;
string provider_id = 26;
string group_id = 27;
string service_uuid = 28;
bool shared_targets = 29;
string cluster_name = 30;
string volume_type_id = 31;
bool consumes_quota = 32;
}
Volume volume = 1;
int32 code = 2; // @gotags: copier:"Code"
string msg = 3; // @gotags: copier:"Msg"
string error_msg =4;// @gotags: copier:"ErrorMsg"
}
message ListVolumeTypesReq{
string project_id =1;
string sort =2;
@ -2029,8 +2079,10 @@ service Openstack {
rpc CreateVolume(CreateVolumeReq) returns (CreateVolumeResp);
rpc DeleteVolume(DeleteVolumeReq) returns (DeleteVolumeResp);
rpc UpdateVolume(UpdateVolumeReq) returns (UpdateVolumeResp);
rpc GetVolumeDetailedById(GetVolumeDetailedByIdReq) returns (GetVolumeDetailedByIdResp);
rpc ListVolumeTypes(ListVolumeTypesReq) returns (ListVolumeTypesResp);
rpc CreateVolumeTypes(CreateVolumeTypeReq) returns (CreateVolumeTypeResp);
rpc DeleteVolumeTypes(DeleteVolumeTypeReq) returns (DeleteVolumeTypeResp);
}