openstack 增加/调整大小/重建/迁移/扩容/等实例功能

This commit is contained in:
qiwang 2023-12-06 09:05:12 +08:00
parent 7e2e03811b
commit ed73a40e8d
8 changed files with 5930 additions and 3021 deletions

View File

@ -0,0 +1,30 @@
package logic
import (
"context"
"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 MigrateServerLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewMigrateServerLogic(ctx context.Context, svcCtx *svc.ServiceContext) *MigrateServerLogic {
return &MigrateServerLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *MigrateServerLogic) MigrateServer(in *openstack.MigrateServerReq) (*openstack.MigrateServerResp, error) {
// todo: add your logic here and delete this line
return &openstack.MigrateServerResp{}, nil
}

View File

@ -0,0 +1,30 @@
package logic
import (
"context"
"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 RebuildServerLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewRebuildServerLogic(ctx context.Context, svcCtx *svc.ServiceContext) *RebuildServerLogic {
return &RebuildServerLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *RebuildServerLogic) RebuildServer(in *openstack.RebuildServerReq) (*openstack.RebuildServerResp, error) {
// todo: add your logic here and delete this line
return &openstack.RebuildServerResp{}, nil
}

View File

@ -0,0 +1,30 @@
package logic
import (
"context"
"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 ResizeServerLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewResizeServerLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ResizeServerLogic {
return &ResizeServerLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *ResizeServerLogic) ResizeServer(in *openstack.ResizeServerReq) (*openstack.ResizeServerResp, error) {
// todo: add your logic here and delete this line
return &openstack.ResizeServerResp{}, nil
}

View File

@ -89,6 +89,21 @@ func (s *OpenstackServer) ListFlavorsDetail(ctx context.Context, in *openstack.L
return l.ListFlavorsDetail(in)
}
func (s *OpenstackServer) RebuildServer(ctx context.Context, in *openstack.RebuildServerReq) (*openstack.RebuildServerResp, error) {
l := logic.NewRebuildServerLogic(ctx, s.svcCtx)
return l.RebuildServer(in)
}
func (s *OpenstackServer) ResizeServer(ctx context.Context, in *openstack.ResizeServerReq) (*openstack.ResizeServerResp, error) {
l := logic.NewResizeServerLogic(ctx, s.svcCtx)
return l.ResizeServer(in)
}
func (s *OpenstackServer) MigrateServer(ctx context.Context, in *openstack.MigrateServerReq) (*openstack.MigrateServerResp, error) {
l := logic.NewMigrateServerLogic(ctx, s.svcCtx)
return l.MigrateServer(in)
}
// network
func (s *OpenstackServer) ShowNetworkDetails(ctx context.Context, in *openstack.ShowNetworkDetailsReq) (*openstack.ShowNetworkDetailsResp, error) {
l := logic.NewShowNetworkDetailsLogic(ctx, s.svcCtx)

File diff suppressed because it is too large Load Diff

View File

@ -32,6 +32,9 @@ const (
Openstack_RebootServer_FullMethodName = "/openstack.Openstack/RebootServer"
Openstack_PauseServer_FullMethodName = "/openstack.Openstack/PauseServer"
Openstack_ListFlavorsDetail_FullMethodName = "/openstack.Openstack/ListFlavorsDetail"
Openstack_RebuildServer_FullMethodName = "/openstack.Openstack/RebuildServer"
Openstack_ResizeServer_FullMethodName = "/openstack.Openstack/ResizeServer"
Openstack_MigrateServer_FullMethodName = "/openstack.Openstack/MigrateServer"
Openstack_ShowNetworkDetails_FullMethodName = "/openstack.Openstack/ShowNetworkDetails"
Openstack_UpdateNetwork_FullMethodName = "/openstack.Openstack/UpdateNetwork"
Openstack_DeleteNetwork_FullMethodName = "/openstack.Openstack/DeleteNetwork"
@ -77,6 +80,9 @@ type OpenstackClient interface {
RebootServer(ctx context.Context, in *RebootServerReq, opts ...grpc.CallOption) (*RebootServerResp, error)
PauseServer(ctx context.Context, in *PauseServerReq, opts ...grpc.CallOption) (*PauseServerResp, error)
ListFlavorsDetail(ctx context.Context, in *ListFlavorsDetailReq, opts ...grpc.CallOption) (*ListFlavorsDetailResp, error)
RebuildServer(ctx context.Context, in *RebuildServerReq, opts ...grpc.CallOption) (*RebuildServerResp, error)
ResizeServer(ctx context.Context, in *ResizeServerReq, opts ...grpc.CallOption) (*ResizeServerResp, error)
MigrateServer(ctx context.Context, in *MigrateServerReq, opts ...grpc.CallOption) (*MigrateServerResp, error)
// network
ShowNetworkDetails(ctx context.Context, in *ShowNetworkDetailsReq, opts ...grpc.CallOption) (*ShowNetworkDetailsResp, error)
UpdateNetwork(ctx context.Context, in *UpdateNetworkReq, opts ...grpc.CallOption) (*UpdateNetworkResp, error)
@ -232,6 +238,33 @@ func (c *openstackClient) ListFlavorsDetail(ctx context.Context, in *ListFlavors
return out, nil
}
func (c *openstackClient) RebuildServer(ctx context.Context, in *RebuildServerReq, opts ...grpc.CallOption) (*RebuildServerResp, error) {
out := new(RebuildServerResp)
err := c.cc.Invoke(ctx, Openstack_RebuildServer_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *openstackClient) ResizeServer(ctx context.Context, in *ResizeServerReq, opts ...grpc.CallOption) (*ResizeServerResp, error) {
out := new(ResizeServerResp)
err := c.cc.Invoke(ctx, Openstack_ResizeServer_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *openstackClient) MigrateServer(ctx context.Context, in *MigrateServerReq, opts ...grpc.CallOption) (*MigrateServerResp, error) {
out := new(MigrateServerResp)
err := c.cc.Invoke(ctx, Openstack_MigrateServer_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *openstackClient) ShowNetworkDetails(ctx context.Context, in *ShowNetworkDetailsReq, opts ...grpc.CallOption) (*ShowNetworkDetailsResp, error) {
out := new(ShowNetworkDetailsResp)
err := c.cc.Invoke(ctx, Openstack_ShowNetworkDetails_FullMethodName, in, out, opts...)
@ -467,6 +500,9 @@ type OpenstackServer interface {
RebootServer(context.Context, *RebootServerReq) (*RebootServerResp, error)
PauseServer(context.Context, *PauseServerReq) (*PauseServerResp, error)
ListFlavorsDetail(context.Context, *ListFlavorsDetailReq) (*ListFlavorsDetailResp, error)
RebuildServer(context.Context, *RebuildServerReq) (*RebuildServerResp, error)
ResizeServer(context.Context, *ResizeServerReq) (*ResizeServerResp, error)
MigrateServer(context.Context, *MigrateServerReq) (*MigrateServerResp, error)
// network
ShowNetworkDetails(context.Context, *ShowNetworkDetailsReq) (*ShowNetworkDetailsResp, error)
UpdateNetwork(context.Context, *UpdateNetworkReq) (*UpdateNetworkResp, error)
@ -541,6 +577,15 @@ func (UnimplementedOpenstackServer) PauseServer(context.Context, *PauseServerReq
func (UnimplementedOpenstackServer) ListFlavorsDetail(context.Context, *ListFlavorsDetailReq) (*ListFlavorsDetailResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListFlavorsDetail not implemented")
}
func (UnimplementedOpenstackServer) RebuildServer(context.Context, *RebuildServerReq) (*RebuildServerResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method RebuildServer not implemented")
}
func (UnimplementedOpenstackServer) ResizeServer(context.Context, *ResizeServerReq) (*ResizeServerResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method ResizeServer not implemented")
}
func (UnimplementedOpenstackServer) MigrateServer(context.Context, *MigrateServerReq) (*MigrateServerResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method MigrateServer not implemented")
}
func (UnimplementedOpenstackServer) ShowNetworkDetails(context.Context, *ShowNetworkDetailsReq) (*ShowNetworkDetailsResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method ShowNetworkDetails not implemented")
}
@ -860,6 +905,60 @@ func _Openstack_ListFlavorsDetail_Handler(srv interface{}, ctx context.Context,
return interceptor(ctx, in, info, handler)
}
func _Openstack_RebuildServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(RebuildServerReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OpenstackServer).RebuildServer(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Openstack_RebuildServer_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OpenstackServer).RebuildServer(ctx, req.(*RebuildServerReq))
}
return interceptor(ctx, in, info, handler)
}
func _Openstack_ResizeServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ResizeServerReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OpenstackServer).ResizeServer(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Openstack_ResizeServer_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OpenstackServer).ResizeServer(ctx, req.(*ResizeServerReq))
}
return interceptor(ctx, in, info, handler)
}
func _Openstack_MigrateServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(MigrateServerReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OpenstackServer).MigrateServer(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Openstack_MigrateServer_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OpenstackServer).MigrateServer(ctx, req.(*MigrateServerReq))
}
return interceptor(ctx, in, info, handler)
}
func _Openstack_ShowNetworkDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ShowNetworkDetailsReq)
if err := dec(in); err != nil {
@ -1351,6 +1450,18 @@ var Openstack_ServiceDesc = grpc.ServiceDesc{
MethodName: "ListFlavorsDetail",
Handler: _Openstack_ListFlavorsDetail_Handler,
},
{
MethodName: "RebuildServer",
Handler: _Openstack_RebuildServer_Handler,
},
{
MethodName: "ResizeServer",
Handler: _Openstack_ResizeServer_Handler,
},
{
MethodName: "MigrateServer",
Handler: _Openstack_MigrateServer_Handler,
},
{
MethodName: "ShowNetworkDetails",
Handler: _Openstack_ShowNetworkDetails_Handler,

View File

@ -159,12 +159,36 @@ type (
ListVolumesResp = openstack.ListVolumesResp
ListVolumesResp_Links = openstack.ListVolumesResp_Links
ListVolumesResp_Volumes = openstack.ListVolumesResp_Volumes
MigrateServerReq = openstack.MigrateServerReq
MigrateServerReq_Migrate = openstack.MigrateServerReq_Migrate
MigrateServerResp = openstack.MigrateServerResp
Network = openstack.Network
PauseServerReq = openstack.PauseServerReq
PauseServerResp = openstack.PauseServerResp
RebootServerReq = openstack.RebootServerReq
RebootServerReq_Reboot = openstack.RebootServerReq_Reboot
RebootServerResp = openstack.RebootServerResp
RebuildServerReq = openstack.RebuildServerReq
RebuildServerReqTrustedImageCertificates = openstack.RebuildServerReqTrustedImageCertificates
RebuildServerReq_Metadata = openstack.RebuildServerReq_Metadata
RebuildServerReq_Personality = openstack.RebuildServerReq_Personality
RebuildServerReq_Rebuild = openstack.RebuildServerReq_Rebuild
RebuildServerResp = openstack.RebuildServerResp
RebuildServerResp_Addresses = openstack.RebuildServerResp_Addresses
RebuildServerResp_ExtraSpecs = openstack.RebuildServerResp_ExtraSpecs
RebuildServerResp_Fault = openstack.RebuildServerResp_Fault
RebuildServerResp_Flavor = openstack.RebuildServerResp_Flavor
RebuildServerResp_Image = openstack.RebuildServerResp_Image
RebuildServerResp_Links = openstack.RebuildServerResp_Links
RebuildServerResp_Links1 = openstack.RebuildServerResp_Links1
RebuildServerResp_Metadata = openstack.RebuildServerResp_Metadata
RebuildServerResp_OsExtendedVolumesVolumesAttached = openstack.RebuildServerResp_OsExtendedVolumesVolumesAttached
RebuildServerResp_Private = openstack.RebuildServerResp_Private
RebuildServerResp_SecurityGroups = openstack.RebuildServerResp_SecurityGroups
RebuildServerResp_Servers = openstack.RebuildServerResp_Servers
ResizeServerReq = openstack.ResizeServerReq
ResizeServerReq_Resize = openstack.ResizeServerReq_Resize
ResizeServerResp = openstack.ResizeServerResp
Server = openstack.Server
ServerUpdate = openstack.ServerUpdate
ShowNetworkDetailsReq = openstack.ShowNetworkDetailsReq
@ -236,6 +260,9 @@ type (
RebootServer(ctx context.Context, in *RebootServerReq, opts ...grpc.CallOption) (*RebootServerResp, error)
PauseServer(ctx context.Context, in *PauseServerReq, opts ...grpc.CallOption) (*PauseServerResp, error)
ListFlavorsDetail(ctx context.Context, in *ListFlavorsDetailReq, opts ...grpc.CallOption) (*ListFlavorsDetailResp, error)
RebuildServer(ctx context.Context, in *RebuildServerReq, opts ...grpc.CallOption) (*RebuildServerResp, error)
ResizeServer(ctx context.Context, in *ResizeServerReq, opts ...grpc.CallOption) (*ResizeServerResp, error)
MigrateServer(ctx context.Context, in *MigrateServerReq, opts ...grpc.CallOption) (*MigrateServerResp, error)
// network
ShowNetworkDetails(ctx context.Context, in *ShowNetworkDetailsReq, opts ...grpc.CallOption) (*ShowNetworkDetailsResp, error)
UpdateNetwork(ctx context.Context, in *UpdateNetworkReq, opts ...grpc.CallOption) (*UpdateNetworkResp, error)
@ -344,6 +371,21 @@ func (m *defaultOpenstack) ListFlavorsDetail(ctx context.Context, in *ListFlavor
return client.ListFlavorsDetail(ctx, in, opts...)
}
func (m *defaultOpenstack) RebuildServer(ctx context.Context, in *RebuildServerReq, opts ...grpc.CallOption) (*RebuildServerResp, error) {
client := openstack.NewOpenstackClient(m.cli.Conn())
return client.RebuildServer(ctx, in, opts...)
}
func (m *defaultOpenstack) ResizeServer(ctx context.Context, in *ResizeServerReq, opts ...grpc.CallOption) (*ResizeServerResp, error) {
client := openstack.NewOpenstackClient(m.cli.Conn())
return client.ResizeServer(ctx, in, opts...)
}
func (m *defaultOpenstack) MigrateServer(ctx context.Context, in *MigrateServerReq, opts ...grpc.CallOption) (*MigrateServerResp, error) {
client := openstack.NewOpenstackClient(m.cli.Conn())
return client.MigrateServer(ctx, in, opts...)
}
// network
func (m *defaultOpenstack) ShowNetworkDetails(ctx context.Context, in *ShowNetworkDetailsReq, opts ...grpc.CallOption) (*ShowNetworkDetailsResp, error) {
client := openstack.NewOpenstackClient(m.cli.Conn())

View File

@ -694,6 +694,183 @@ message PauseServerResp{
int32 code =2; // @gotags: copier:"Code"
string error_msg =3;// @gotags: copier:"ErrorMsg"
}
message RebuildServerReq {
string server_id = 1;
Rebuild rebuild =2;
message Rebuild {
string imageRef =2;
string accessIPv4 =3;
string accessIPv6 =4;
string adminPass =5;
Metadata metadata =6;
string name =7;
string OS_DCF_diskConfig = 8[json_name = "OS-DCF:diskConfig"];
repeated Personality personality= 9;
bool preserve_ephemeral =10;
string description =11;
string key_name =12;
string user_data =13;
repeated trusted_image_certificates trusted_image_certificates =14;
string hostname =15;
}
message Metadata {
}
message Personality {
string path =1;
string contents =2;
}
message trusted_image_certificates{
}
}
message RebuildServerResp {
message Private {
string OS_EXT_IPS_MAC_mac_addr = 1 [json_name="OS-EXT-IPS-MAC:mac_addr"];
string OS_EXT_IPS_type = 2[json_name="OS-EXT-IPS:type"];
string addr = 3;
uint32 version = 4;
}
message Addresses {
repeated Private private = 1;
}
message Extra_specs {
}
message Flavor {
string id = 1;
string links = 2;
uint32 vcpus = 3;
uint32 ram = 4;
uint32 disk = 5;
uint32 ephemeral = 6;
uint32 swap = 7;
string original_name = 8;
Extra_specs extra_specs = 9;
}
message Links {
string href = 1;
string rel = 2;
}
message Image {
string id = 1;
repeated Links links = 2;
}
message Links1 {
string href = 1;
string rel = 2;
}
message Metadata {
}
message Os_extended_volumes_volumes_attached {
string id = 1;
bool delete_on_termination = 2;
}
message Fault {
uint32 code = 1;
string created = 2;
string message = 3;
string details = 4;
}
message Security_groups {
string name = 1;
}
message Servers {
string accessIPv4 = 1;
string accessIPv6 = 2;
Addresses addresses = 3;
string config_drive = 4;
string created = 5;
Flavor flavor = 6;
string hostId = 7;
string id = 8;
Image image = 9;
string key_name = 10;
repeated Links1 links = 11;
Metadata metadata = 12;
string name = 13;
string OS_DCF_diskConfig = 14[json_name = "OS-DCF:diskConfig"];
string OS_EXT_AZ_availability_zone = 15[json_name = "OS-EXT-AZ:availability_zone"];
string OS_EXT_SRV_ATTR_host = 16[json_name = "OS-EXT-SRV-ATTR:host"];
string OS_EXT_SRV_ATTR_hostname = 17[json_name = "OS-EXT-SRV-ATTR:hostname"];
string OS_EXT_SRV_ATTR_hypervisor_hostname = 18[json_name = "OS-EXT-SRV-ATTR:hypervisor_hostname"];
string OS_EXT_SRV_ATTR_instance_name = 19[json_name = "OS-EXT-SRV-ATTR:instance_name"];
string OS_EXT_SRV_ATTR_kernel_id = 20[json_name = "OS-EXT-SRV-ATTR:kernel_id"];
uint32 OS_EXT_SRV_ATTR_launch_index = 21[json_name = "OS-EXT-SRV-ATTR:launch_index"];
string OS_EXT_SRV_ATTR_ramdisk_id = 22[json_name = "OS-EXT-SRV-ATTR:ramdisk_id"];
string OS_EXT_SRV_ATTR_reservation_id = 23[json_name = "OS-EXT-SRV-ATTR:reservation_id"];
string OS_EXT_SRV_ATTR_root_device_name = 24[json_name = "OS-EXT-SRV-ATTR:root_device_name"];
string OS_EXT_SRV_ATTR_user_data = 25[json_name = "OS-EXT-SRV-ATTR:user_data"];
uint32 OS_EXT_STS_power_state = 26[json_name = "OS-EXT-STS:power_state"];
string OS_EXT_STS_task_state = 27[json_name = "OS-EXT-STS:task_state"];
string OS_EXT_STS_vm_state = 28[json_name = "OS-EXT-STS:vm_state"];
repeated Os_extended_volumes_volumes_attached os_extended_volumes_volumes_attached = 29[json_name = "os-extended-volumes:volumes_attached"];
string OS_SRV_USG_launched_at = 30[json_name = "OS-SRV-USG:launched_at"];
string OS_SRV_USG_terminated_at = 31[json_name = "OS-SRV-USG:terminated_at"];
string status = 32;
string tenant_id = 33;
string updated = 34;
string user_id = 35;
Fault fault = 36;
uint32 progress = 37;
repeated Security_groups security_groups = 38;
bool locked = 39;
string host_status = 40;
string description = 41;
repeated string tags = 42;
string trusted_image_certificates = 43;
repeated string server_groups = 44;
string locked_reason = 45;
}
Servers server = 1;
int32 code = 2; // @gotags: copier:"Code"
string msg = 3; // @gotags: copier:"Msg"
string error_msg =4;// @gotags: copier:"ErrorMsg"
}
message ResizeServerReq{
string server_id = 1;
Resize resize =2;
message Resize {
string flavorRef =1;
string OS_DCF_diskConfig =2[json_name = "OS-DCF:diskConfig"];
}
}
message ResizeServerResp{
int32 code = 1; // @gotags: copier:"Code"
string msg = 2; // @gotags: copier:"Msg"
string error_msg =3;// @gotags: copier:"ErrorMsg"
}
message MigrateServerReq{
string server_id = 1;
map<string,string> action =2;
string migrate_action =3;
Migrate migrate =4;
message Migrate {
map<string,string> host =2;
}
}
message MigrateServerResp{
int32 code = 1; // @gotags: copier:"Code"
string msg = 2; // @gotags: copier:"Msg"
string error_msg =3;// @gotags: copier:"ErrorMsg"
}
/******************update server end*************************/
/******************ListFlavorsDetail start*************************/
@ -2078,6 +2255,9 @@ service Openstack {
rpc RebootServer(RebootServerReq) returns (RebootServerResp);
rpc PauseServer(PauseServerReq) returns (PauseServerResp);
rpc ListFlavorsDetail(ListFlavorsDetailReq) returns (ListFlavorsDetailResp);
rpc RebuildServer(RebuildServerReq) returns (RebuildServerResp); //
rpc ResizeServer(ResizeServerReq) returns (ResizeServerResp);//
rpc MigrateServer(MigrateServerReq) returns (MigrateServerResp);//
//network
rpc ShowNetworkDetails(ShowNetworkDetailsReq) returns (ShowNetworkDetailsResp);
rpc UpdateNetwork(UpdateNetworkReq) returns (UpdateNetworkResp);