openstack C端实现

Former-commit-id: 1b06963640128ac9c65b621ce96830d1aef14c42
This commit is contained in:
zhouqunjie 2023-08-31 12:12:13 +08:00
parent 1e70b9e3e9
commit ca27385099
37 changed files with 2052 additions and 41 deletions

View File

@ -5,6 +5,7 @@ import (
"hpc/pcm-hpc.api" "hpc/pcm-hpc.api"
"ai/pcm-ai.api" "ai/pcm-ai.api"
"storage/pcm-storage.api" "storage/pcm-storage.api"
"vm/pcm-vm.api"
) )
info( info(
@ -23,49 +24,49 @@ info(
service pcm { service pcm {
@handler scheduleTaskByYamlHandler @handler scheduleTaskByYamlHandler
post /core/scheduleTaskByYaml (scheduleTaskByYamlReq) returns () post /core/scheduleTaskByYaml (scheduleTaskByYamlReq) returns ()
@handler scheduleTaskHandler @handler scheduleTaskHandler
post /core/scheduleTask (scheduleTaskReq) returns () post /core/scheduleTask (scheduleTaskReq) returns ()
@handler TaskListHandler @handler TaskListHandler
get /core/taskList () returns (taskListResp) get /core/taskList () returns (taskListResp)
@handler JobTotalHandler @handler JobTotalHandler
get /core/jobTotal () returns (jobTotalResp) get /core/jobTotal () returns (jobTotalResp)
@handler listCenterHandler @handler listCenterHandler
get /core/listCenter () returns (listCenterResp) get /core/listCenter () returns (listCenterResp)
@handler listClusterHandler @handler listClusterHandler
get /core/listCluster/:centerId (listClusterReq) returns (listClusterResp) get /core/listCluster/:centerId (listClusterReq) returns (listClusterResp)
@handler submitJobHandler @handler submitJobHandler
post /core/submitJob (submitJobReq) returns (submitJobResp) post /core/submitJob (submitJobReq) returns (submitJobResp)
@handler getRegionHandler @handler getRegionHandler
get /core/getRegion () returns (getRegionResp) get /core/getRegion () returns (getRegionResp)
@handler listRegionHandler @handler listRegionHandler
get /core/listRegion () returns (listRegionResp) get /core/listRegion () returns (listRegionResp)
@handler getComputingPowerHandler @handler getComputingPowerHandler
get /core/getComputingPower returns (cpResp) get /core/getComputingPower returns (cpResp)
@handler getGeneralInfoHandler @handler getGeneralInfoHandler
get /core/getGeneralInfo () returns (GiResp) get /core/getGeneralInfo () returns (GiResp)
@handler listDomainResourceHandler @handler listDomainResourceHandler
get /core/listDomainResource returns (DomainResourceResp) get /core/listDomainResource returns (DomainResourceResp)
@handler getResourcePanelConfigHandler @handler getResourcePanelConfigHandler
get /core/getResourcePanelConfigHandler () returns (ResourcePanelConfigResp) get /core/getResourcePanelConfigHandler () returns (ResourcePanelConfigResp)
@handler putResourcePanelConfigHandler @handler putResourcePanelConfigHandler
put /core/resourcePanelConfigHandler (ResourcePanelConfigReq) returns () put /core/resourcePanelConfigHandler (ResourcePanelConfigReq) returns ()
@handler nodeAssetsHandler @handler nodeAssetsHandler
get /core/assets () returns (NodeAssetsResp) get /core/assets () returns (NodeAssetsResp)
} }
//hpc二级接口 //hpc二级接口
@ -76,10 +77,10 @@ service pcm {
service pcm { service pcm {
@handler listJobHandler @handler listJobHandler
get /hpc/listJob (listJobReq) returns (listJobResp) get /hpc/listJob (listJobReq) returns (listJobResp)
@handler listHistoryJobHandler @handler listHistoryJobHandler
get /hpc/listHistoryJob (listHistoryJobReq) returns (listHistoryJobResp) get /hpc/listHistoryJob (listHistoryJobReq) returns (listHistoryJobResp)
@handler queueAssetsHandler @handler queueAssetsHandler
get /queue/assets () returns (QueueAssetsResp) get /queue/assets () returns (QueueAssetsResp)
} }
@ -92,10 +93,10 @@ service pcm {
service pcm { service pcm {
@handler listDataSetHandler @handler listDataSetHandler
get /ai/listDataSet/:projectId (DataSetReq) returns (DataSetResp) get /ai/listDataSet/:projectId (DataSetReq) returns (DataSetResp)
@handler CreateDataSetHandler @handler CreateDataSetHandler
post /ai/createDataSet/:projectId (CreateDataSetReq) returns (CreateDataSetResp) post /ai/createDataSet/:projectId (CreateDataSetReq) returns (CreateDataSetResp)
@handler DeleteDataSetHandler @handler DeleteDataSetHandler
delete /ai/deleteDataSet/:projectId/:datasetId (DeleteDataSetReq) returns (DeleteDataSetResp) delete /ai/deleteDataSet/:projectId/:datasetId (DeleteDataSetReq) returns (DeleteDataSetResp)
// creat task 创建导入任务 // creat task 创建导入任务
@ -126,7 +127,7 @@ service pcm {
// ShowAlgorithmByUuid 展示算法详情 // ShowAlgorithmByUuid 展示算法详情
@handler ShowAlgorithmByUuid @handler ShowAlgorithmByUuid
get /ai/ShowAlgorithmByUuid/:projectId/:algorithmId (ShowAlgorithmByUuidReq) returns (ShowAlgorithmByUuidResp) get /ai/ShowAlgorithmByUuid/:projectId/:algorithmId (ShowAlgorithmByUuidReq) returns (ShowAlgorithmByUuidResp)
// creat export task 创建导出任务 // creat export task 创建导出任务
@handler CreateExportTaskHandler @handler CreateExportTaskHandler
post /ai/CreateExportTask/:projectId/:datasetId (CreateExportTaskReq) returns (ExportTaskDataResp) post /ai/CreateExportTask/:projectId/:datasetId (CreateExportTaskReq) returns (ExportTaskDataResp)
@ -134,11 +135,11 @@ service pcm {
get /ai/GetExportTasksOfDataset/:projectId/:datasetId (GetExportTasksOfDatasetReq) returns (GetExportTasksOfDatasetResp) get /ai/GetExportTasksOfDataset/:projectId/:datasetId (GetExportTasksOfDatasetReq) returns (GetExportTasksOfDatasetResp)
@handler GetExportTaskStatusOfDatasetHandler @handler GetExportTaskStatusOfDatasetHandler
get /ai/GetExportTaskStatusOfDataset/:projectId/:resourceId/:taskId (GetExportTaskStatusOfDatasetReq) returns (GetExportTaskStatusOfDatasetResp) get /ai/GetExportTaskStatusOfDataset/:projectId/:resourceId/:taskId (GetExportTaskStatusOfDatasetReq) returns (GetExportTaskStatusOfDatasetResp)
// create processor task 创建处理任务 // create processor task 创建处理任务
@handler CreateProcessorTaskHandler @handler CreateProcessorTaskHandler
post /ai/CreateProcessorTask (CreateProcessorTaskReq) returns (CreateProcessorTaskResp) post /ai/CreateProcessorTask (CreateProcessorTaskReq) returns (CreateProcessorTaskResp)
// create service 创建服务 // create service 创建服务
@handler CreateServiceHandler @handler CreateServiceHandler
post /ai/CreateService/:projectId (CreateServiceReq) returns (CreateServiceResp) post /ai/CreateService/:projectId (CreateServiceReq) returns (CreateServiceResp)
@ -154,7 +155,7 @@ service pcm {
// ListClusters查询专属资源池列表 // ListClusters查询专属资源池列表
@handler ListClustersHandler @handler ListClustersHandler
get /ai/ListClusters (ListClustersReq) returns (ListClustersResp) get /ai/ListClusters (ListClustersReq) returns (ListClustersResp)
/******************Notebook Method start*************************/ /******************Notebook Method start*************************/
@handler listNotebookHandler @handler listNotebookHandler
get /ai/listNotebook (ListNotebookReq) returns (ListNotebookResp) get /ai/listNotebook (ListNotebookReq) returns (ListNotebookResp)
@ -169,7 +170,7 @@ service pcm {
@handler mountNotebookStorageHandler @handler mountNotebookStorageHandler
post /ai/mountNotebookStorage (MountNotebookStorageReq) returns (MountNotebookStorageResp) post /ai/mountNotebookStorage (MountNotebookStorageReq) returns (MountNotebookStorageResp)
/******************Notebook Method end*************************/ /******************Notebook Method end*************************/
/******************Visualization Job Method start*************************/ /******************Visualization Job Method start*************************/
@handler getVisualizationJobHandler @handler getVisualizationJobHandler
get /ai/getVisualizationJob (GetVisualizationJobReq) returns (GetVisualizationJobResp) get /ai/getVisualizationJob (GetVisualizationJobReq) returns (GetVisualizationJobResp)
@ -200,16 +201,52 @@ service pcm {
service pcm { service pcm {
@handler uploadHandler @handler uploadHandler
post /upload () returns () post /upload () returns ()
@handler chunkHandler @handler chunkHandler
post /chunk () returns () post /chunk () returns ()
@handler imageListHandler @handler imageListHandler
get /image/list () returns (imageListResp) get /image/list () returns (imageListResp)
@handler dataSetCheckHandler @handler dataSetCheckHandler
get /dataSet/check/:fileMd5 (checkReq) returns (checkResp) get /dataSet/check/:fileMd5 (checkReq) returns (checkResp)
@handler uploadDataSetHandler @handler uploadDataSetHandler
post /dataSet/upload () returns () post /dataSet/upload () returns ()
}
//openstack 接口
@server(
prefix: pcm/v1
group : vm
)
service pcm {
@handler ListServerHandler
get /vm/listServer (ListServersReq) returns (ListServersResp)
@handler ListServersDetailedHandler
get /vm/listServersDetailed (ListServersDetailedReq) returns (ListServersDetailedResp)
@handler DeleteServerHandler
delete /vm/deleteServer (DeleteServerReq) returns (DeleteServerResp)
@handler ListImagesHandler
get /vm/listImages (ListImagesReq) returns (ListImagesResp)
@handler DeleteImageHandler
delete /vm/deleteImage (DeleteImageReq) returns (DeleteImageResp)
@handler ListNetworksHandler
get /vm/listNetworks (ListNetworksReq) returns (ListNetworksResp)
@handler DeleteNetworkHandler
delete /vm/deleteNetwork (DeleteNetworkReq) returns (DeleteNetworkResp)
@handler CreateNetworkHandler
post /vm/createNetwork (CreateNetworkReq) returns (CreateNetworkResp)
@handler CreateSubnetHandler
post /vm/createSubnet (CreateSubnetReq) returns (CreateSubnetResp)
@handler ListVolumesDetailHandler
get /vm/listVolumesDetail (ListVolumesDetailReq) returns (ListVolumesDetailResp)
@handler DeleteVolumeHandler
delete /vm/deleteVolume (DeleteVolumeReq) returns (DeleteVolumeResp)
@handler CreateVolumeHandler
post /vm/createVolume (CreateVolumeReq) returns (CreateVolumeResp)
@handler ListFlavorsDetailHandler
get /vm/listFlavorsDetail (ListFlavorsDetailReq) returns (ListFlavorsDetailResp)
@handler CreateServerHandler
post /vm/createServer (CreateServerReq) returns (CreateServerResp)
} }

438
api/desc/vm/pcm-vm.api Normal file
View File

@ -0,0 +1,438 @@
syntax = "v1"
info(
title: "VM core"
desc: "VM core微服务"
author: "wanqgi"
email: "1364512070@qq.com"
)
/****************** servers start*************************/
type (
ListServersReq {
Limit int32 `form:"limit,optional"`
OffSet int32 `form:"offSet,optional"`
}
ListServersResp {
TotalNumber uint32 `json:"totalNumber" copier:"TotalNumber"`
Servers []Servers `json:"servers" copier:"Servers"`
servers_links []Servers_links `json:"serversLinks" copier:"Servers_links"`
Code int32 `json:"code,omitempty"`
Msg string `json:"msg,omitempty"`
ErrorMsg string `json:"errorMsg,omitempty"`
}
Servers {
Id string `json:"id" copier:"Id"`
Name string `json:"name" copier:"Name"`
Links []Links `json:"links " copier:"Links "`
}
Links {
Href string `json:"href " copier:"Href"`
Rel string `json:"rel" copier:"Rel"`
}
Servers_links{
Href string `json:"href " copier:"Href"`
Rel string `json:"rel" copier:"Rel"`
}
)
type(
ListServersDetailedReq{
}
ListServersDetailedResp{
ServersDetailed []ServersDetailed `json:"servers" copier:"ServersDetailed"`
Code int32 `json:"code,omitempty"`
Msg string `json:"msg,omitempty"`
ErrorMsg string `json:"errorMsg,omitempty"`
}
ServersDetailed{
created string `json:"created" copier:"created"`
id string `json:"id" copier:"id"`
key_name string `json:"key_name" copier:"key_name"`
locked bool `json:"locked" copier:"locked"`
name string `json:"name" copier:"name"`
progress uint32 `json:"progress" copier:"progress"`
status string `json:"status" copier:"status"`
tenant_id string `json:"tenant_id" copier:"tenant_id"`
updated string `json:"updated" copier:"updated"`
user_id string `json:"user_id" copier:"user_id"`
}
)
type (
DeleteServerReq{
ServerId string `form:"server_id" copier:"ServerId"`
}
DeleteServerResp{
Code int32 `json:"code,omitempty"`
Msg string `json:"msg,omitempty"`
ErrorMsg string `json:"errorMsg,omitempty"`
}
)
type (
CreateServerReq{
Server Server `json:"server" copier:"Server"`
}
CreateServerResp{
Server ServerResp `json:"server" copier:"Server"`
Code int32 `json:"code,omitempty"`
Msg string `json:"msg,omitempty"`
ErrorMsg string `json:"errorMsg,omitempty"`
}
Server {
Name string `json:"name" copier:"Name"`
FlavorRef string `json:"flavorRef" copier:"FlavorRef"`
ImageRef string `json:"imageRef" copier:"ImageRef"`
Networks []CreNetwork `json:"networks" copier:"Networks"`
//AdminPass string `json:"adminPass" copier:"AdminPass"`
}
CreNetwork {
Uuid string `json:"uuid" copier:"Uuid"`
}
ServerResp {
Id string `json:"id" copier:"Id"`
Links []Links `json:"links" copier:"Links"`
OSDCFDiskConfig string `json:"OS_DCF_diskConfig" copier:"OSDCFDiskConfig"`
SecurityGroups []Security_groups `json:"security_groups" copier:"SecurityGroups"`
AdminPass string `json:"adminPass" copier:"AdminPass"`
}
Security_groups {
Name string `json:"name" copier:"Name"`
}
)
/****************** servers end*************************/
/******************find images end*************************/
type (
ListImagesReq {
Limit int32 `form:"limit,optional"`
// Marker string `json:"marker" copier:"Marker"`
// Name string `json:"name" copier:"Name"`
// Owner string `json:"owner" copier:"Owner"`
// Protected bool `json:"protected" copier:"Protected"`
// Status int32 `json:"status" copier:"Status"`
// Visibility int32 `json:"visibility" copier:"Visibility"`
// Os_hidden bool `json:"os_hidden" copier:"Os_hidden"`
// Member_status string `json:"member_status" copier:"Member_status"`
// Size_max string `json:"size_max" copier:"Size_max"`
// Size_min string `json:"size_min" copier:"Size_min"`
// Created_at string `json:"created_at" copier:"Created_at"`
// Updated_at string `json:"updated_at" copier:"Updated_at"`
// Sort_dir string `json:"sort_dir" copier:"Sort_dir"`
// Sort_key string `json:"sort_key" copier:"Sort_key"`
// Sort string `json:"sort" copier:"Sort"`
}
ListImagesResp {
First string `json:"first" copier:"First"`
Next string `json:"next" copier:"Next"`
Schema string `json:"schema" copier:"Schema"`
Images []Images `json:"images" copier:"Images"`
Code int32 `json:"code,omitempty"`
Msg string `json:"msg,omitempty"`
ErrorMsg string `json:"errorMsg,omitempty"`
}
Images {
Status string `json:"status" copier:"Status"`
Name string `json:"name" copier:"Name"`
Tags []Tags `json:"tags" copier:"Tags"`
Container_format string `json:"container_format" copier:"Container_format"`
Created_at string `json:"created_at" copier:"Created_at"`
Disk_format string `json:"disk_format" copier:"Disk_format"`
Updated_at string `json:"updated_at" copier:"Updated_at"`
Visibility string `json:"visibility" copier:"Visibility"`
Self string `json:"self" copier:"Self"`
min_disk uint32 `json:"min_disk" copier:"Min_disk"`
Protected bool `json:"protected" copier:"Protected"`
Id string `json:"id" copier:"Id"`
File string `json:"file" copier:"File"`
Checksum string `json:"checksum" copier:"Checksum"`
Os_hash_algo string `json:"os_hash_algo" copier:"Os_hash_algo"`
Os_hash_value string `json:"os_hash_value" copier:"Os_hash_value"`
Os_hidden string `json:"os_hidden" copier:"Os_hidden"`
Owner string `json:"owner" copier:"Owner"`
Size uint32 `json:"size" copier:"Size"`
Min_ram uint32 `json:"min_ram" copier:"Min_ram"`
Schema string `json:"schema" copier:"Schema"`
Virtual_size int32 `json:"virtual_size" copier:"Virtual_size"`
}
Tags {
}
)
type(
CreateImageReq{
Container_format string `json:"container_format" copier:"Container_format"`
Disk_format string `json:"disk_format" copier:"Disk_format"`
Id string `json:"id" copier:"Id"`
Min_disk string `json:"min_disk" copier:"Min_disk"`
Min_ram string `json:"min_ram" copier:"Min_ram"`
Name string `json:"name" copier:"Name"`
Protected string `json:"protected" copier:"Protected"`
Tags []Tags `json:"tags" copier:"Tags"`
visibility string `json:"visibility" copier:"visibility"`
}
CreateImageResq {
Location string `json:"location" copier:"Location"`
}
)
type(
DeleteImageReq{
ImageId string `form:"image_id" copier:"ImageId"`
}
DeleteImageResp {
Code int32 `json:"code,omitempty"`
Msg string `json:"msg,omitempty"`
ErrorMsg string `json:"errorMsg,omitempty"`
}
)
/******************find images end*************************/
/******************find Networks end*************************/
type(
ListNetworksReq{
}
ListNetworksResp{
Networks []Network `json:"networks" copier:"Networks"`
Code int32 `json:"code,omitempty"`
Msg string `json:"msg,omitempty"`
ErrorMsg string `json:"errorMsg,omitempty"`
}
Network {
AdminStateUp bool `json:"admin_state_up" copier:"AdminStateUp"`
AvailabilityZoneHints []string `json:"availability_zone_hints" copier:"AvailabilityZoneHints"`
AvailabilityZones []string `json:"availability_zones" copier:"AvailabilityZones"`
CreatedAt string `json:"created_at" copier:"CreatedAt"`
DnsDomain string `json:"dns_domain" copier:"DnsDomain"`
Id string `json:"id" copier:"Id"`
Ipv4AddressScope string `json:"ipv4_address_scope" copier:"Ipv4AddressScope"`
Ipv6AddressScope string `json:"ipv6_address_scope" copier:"Ipv6AddressScope"`
L2Adjacency bool `json:"l2_adjacency" copier:"L2Adjacency"`
Mtu int64 `json:"mtu" copier:"Mtu"`
Name string `json:"name" copier:"Name"`
PortSecurityEnabled bool `json:"port_security_enabled" copier:"PortSecurityEnabled"`
ProjectId string `json:"project_id" copier:"ProjectId"`
QosPolicyId string `json:"qos_policy_id" copier:"QosPolicyId"`
RevisionNumber string `json:"revision_number" copier:"RevisionNumber"`
Shared bool `json:"shared" copier:"Shared"`
RouterExternal bool `json:"router_external" copier:"RouterExternal"`
Status string `json:"status" copier:"Status"`
Subnets []string `json:"subnets" copier:"Subnets"`
Tags []string `json:"tags" copier:"Tags"`
TenantId string `json:"tenant_id" copier:"TenantId"`
UpdatedAt string `json:"updated_at" copier:"UpdatedAt"`
VlanTransparent bool `json:"vlan_transparent" copier:"VlanTransparent"`
Description string `json:"description" copier:"Description"`
IsDefault bool `json:"is_default" copier:"IsDefault"`
}
)
type(
DeleteNetworkReq{
NetworkId string `form:"network_id" copier:"NetworkId"`
}
DeleteNetworkResp {
Code int32 `json:"code,omitempty" copier:"Code"`
Msg string `json:"msg,omitempty" copier:"Msg"`
ErrorMsg string `json:"errorMsg,omitempty" copier:"ErrorMsg"`
}
)
type(
CreateNetworkReq{
Network CreateNetwork `json:"network" copier:"Network"`
}
CreateNetworkResp{
Network Network `json:"network" copier:"Network"`
Code int32 `json:"code,omitempty" copier:"Code"`
Msg string `json:"msg,omitempty" copier:"Msg"`
ErrorMsg string `json:"errorMsg,omitempty" copier:"ErrorMsg"`
}
CreateNetwork {
AdminStateUp bool `json:"admin_state_up" copier:"AdminStateUp"`
Name string `json:"name" copier:"Name"`
Shared bool `json:"shared" copier:"Shared"`
}
)
type (
CreateSubnetReq{
Subnet Subnet `json:"subnet" copier:"Subnet"`
}
CreateSubnetResp{
Subnet SubnetResp `json:"subnet" copier:"Subnet"`
Code int32 `json:"code,omitempty" copier:"Code"`
Msg string `json:"msg,omitempty" copier:"Msg"`
ErrorMsg string `json:"errorMsg,omitempty" copier:"ErrorMsg"`
}
Subnet {
NetworkId string `json:"network_id" copier:"NetworkId"`
Name string `json:"name" copier:"Name"`
Cidr string `json:"cidr" copier:"Cidr"`
Ip_version int32 `json:"ip_version" copier:"IpVersion"`
Gateway_ip string `json:"gateway_ip" copier:"GatewayIp"`
Enable_dhcp bool `json:"enable_dhcp" copier:"EnableDhcp"`
Allocation_pools []Allocation_pools `json:"allocation_pools" copier:"AllocationPools"`
Dns_nameservers []string `json:"dns_nameservers" copier:"DnsNameservers"`
Host_routes []string `json:"host_routes" copier:"HostRoutes"`
}
SubnetResp {
Name string `json:"name" copier:"Name"`
Cidr string `json:"cidr" copier:"Cidr"`
Ip_version int32 `json:"ip_version" copier:"Ip_version"`
Gateway_ip string `json:"gateway_ip" copier:"Gateway_ip"`
Enable_dhcp bool `json:"enable_dhcp" copier:"Enable_dhcp"`
Allocation_pools []Allocation_pools `json:"allocation_pools" copier:"Allocation_pools"`
Dns_nameservers []string `json:"dns_nameservers" copier:"Dns_nameservers"`
Host_routes []string `json:"host_routes" copier:"Host_routes"`
Network_id string `json:"network_id" copier:"Network_id"`
Segment_id string `json:"segment_id" copier:"Segment_id"`
Project_id string `json:"project_id" copier:"Project_id"`
Tenant_id string `json:"tenant_id" copier:"Tenant_id"`
Dns_publish_fixed_ip string `json:"Dns_publish_fixed_ip" copier:"Dns_publish_fixed_ip"`
Id string `json:"id" copier:"Id"`
Created_at string `json:"created_at" copier:"Created_at"`
Description string `json:"description" copier:"Description"`
Ipv6_address_mode string `json:"ipv6_address_mode" copier:"Ipv6_address_mode"`
Ipv6_ra_mode string `json:"ipv6_ra_mode" copier:"Ipv6_ra_mode"`
Revision_number string `json:"revision_number" copier:"Revision_number"`
Service_types []string `json:"service_types" copier:"Service_types"`
Subnetpool_id string `json:"subnetpool_id" copier:"Subnetpool_id"`
Tags []string `json:"tags" copier:"Tags"`
Updated_at string `json:"updated_at" copier:"Updated_at"`
}
Allocation_pools{
Start string `json:"start" copier:"Start"`
End string `json:"end" copier:"End"`
}
)
/******************find Networks end*************************/
/******************find ListVolumesDetail start*************************/
type(
ListVolumesDetailReq{
}
ListVolumesDetailResp{
VolumeDetail []VolumeDetail `json:"volumes" copier:"VolumeDetail"`
Code int32 `json:"code,omitempty"`
Msg string `json:"msg,omitempty"`
ErrorMsg string `json:"errorMsg,omitempty"`
}
VolumeDetail{
created_at string `json:"created_at" copier:"created_at"`
id string `json:"id" copier:"id"`
availability_zone string `json:"availability_zone" copier:"availability_zone"`
encrypted bool `json:"encrypted" copier:"encrypted"`
name string `json:"name" copier:"name"`
size int32 `json:"size" copier:"size"`
status string `json:"status" copier:"status"`
tenant_id string `json:"tenant_id" copier:"tenant_id"`
updated string `json:"Updated" copier:"updated"`
user_id string `json:"User_id" copier:"user_id"`
description string `json:"description" copier:"description"`
multiattach bool `json:"multiattach" copier:"multiattach"`
bootable bool `json:"bootable" copier:"bootable"`
volume_type string `json:"volume_type" copier:"volume_type"`
count int32 `json:"count" copier:"Count"`
shared_targets bool `json:"shared_targets" copier:"shared_targets"`
consumes_quota bool `json:"consumes_quota" copier:"consumes_quota"`
}
)
type(
DeleteVolumeReq{
VolumeId string `form:"volume_id" copier:"VolumeId"`
cascade bool `json:"cascade" copier:"cascade"`
force bool `json:"force" copier:"force"`
}
DeleteVolumeResp {
Code int32 `json:"code,omitempty" copier:"Code"`
Msg string `json:"msg,omitempty" copier:"Msg"`
ErrorMsg string `json:"errorMsg,omitempty" copier:"ErrorMsg"`
}
)
type(
CreateVolumeReq{
Volume Volume `json:"volume" copier:"Volume"`
}
CreateVolumeResp {
Volume VolumeResp `json:"volume" copier:"Volume"`
Code int32 `json:"code,omitempty" copier:"Code"`
Msg string `json:"msg,omitempty" copier:"Msg"`
ErrorMsg string `json:"errorMsg,omitempty" copier:"ErrorMsg"`
}
Volume {
Size int32 `json:"size" copier:"Size"`
AvailabilityZone string `json:"availability_zone" copier:"AvailabilityZone"`
Description string `json:"description" copier:"Description"`
Name string `json:"name" copier:"Name"`
VolumeType string `json:"volume_type" copier:"VolumeType"`
}
VolumeResp{
CreatedAt string `json:"created_at" copier:"CreatedAt"`
Id string `json:"id" copier:"Id"`
AvailabilityZone string `json:"availability_zone" copier:"AvailabilityZone"`
Encrypted bool `json:"encrypted" copier:"Encrypted"`
Name string `json:"name" copier:"Name"`
Size int32 `json:"size" copier:"Size"`
Status string `json:"status" copier:"Status"`
TenantId string `json:"tenant_id" copier:"TenantId"`
Updated string `json:"updated" copier:"Updated"`
UserId string `json:"user_id" copier:"UserId"`
Description string `json:"description" copier:"Description"`
Multiattach bool `json:"multiattach" copier:"Multiattach"`
Bootable bool `json:"bootable" copier:"Bootable"`
VolumeType string `json:"volume_type" copier:"VolumeType"`
Count int32 `json:"count" copier:"Count"`
SharedTargets bool `json:"shared_targets" copier:"SharedTargets"`
ConsumesQuota bool `json:"consumes_quota" copier:"ConsumesQuota"`
}
)
/******************find ListVolumesDetail end*************************/
type(
ListFlavorsDetailReq{
}
ListFlavorsDetailResp{
Flavor []Flavors `json:"flavors" copier:"Flavor"`
Code int32 `json:"code,omitempty"`
Msg string `json:"msg,omitempty"`
ErrorMsg string `json:"errorMsg,omitempty"`
}
Flavors{
name string `json:"name" copier:"name"`
description string `json:"description" copier:"description"`
id string `json:"id" copier:"id"`
disk int32 `json:"disk" copier:"disk"`
ephemeral uint32 `json:"ephemeral" copier:"ephemeral"`
original_name string `json:"original_name" copier:"original_name"`
ram int32 `json:"ram" copier:"ram"`
swap int32 `json:"swap" copier:"swap"`
vcpus int32 `json:"vcpus" copier:"vcpus"`
rxtx_factor float32 `json:"rxtx_factor" copier:"rxtx_factor"`
os_flavor_access_is_public bool `json:"os_flavor_access_is_public" copier:"os_flavor_access_is_public"`
}
)

View File

@ -4,10 +4,10 @@ NacosConfig:
ServerConfigs: ServerConfigs:
# - IpAddr: 127.0.0.1 # - IpAddr: 127.0.0.1
# Port: 8848 # Port: 8848
- IpAddr: nacos.jcce.dev - IpAddr: 119.45.100.73
Port: 8848 Port: 8848
ClientConfig: ClientConfig:
NamespaceId: test NamespaceId: zhouqj
TimeoutMs: 5000 TimeoutMs: 5000
NotLoadCacheAtStart: true NotLoadCacheAtStart: true
LogDir: LogDir:

View File

@ -31,6 +31,7 @@ type Config struct {
THRpcConf zrpc.RpcClientConf THRpcConf zrpc.RpcClientConf
ModelArtsRpcConf zrpc.RpcClientConf ModelArtsRpcConf zrpc.RpcClientConf
CephRpcConf zrpc.RpcClientConf CephRpcConf zrpc.RpcClientConf
OpenstackRpcConf zrpc.RpcClientConf
OctopusRpcConf zrpc.RpcClientConf OctopusRpcConf zrpc.RpcClientConf
NexusUrl string NexusUrl string
JccScheduleUrl string JccScheduleUrl string

View File

@ -9,6 +9,7 @@ import (
hpc "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/handler/hpc" hpc "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/handler/hpc"
image "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/handler/image" image "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/handler/image"
storage "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/handler/storage" storage "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/handler/storage"
vm "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/handler/vm"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc" "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"github.com/zeromicro/go-zero/rest" "github.com/zeromicro/go-zero/rest"
@ -319,4 +320,80 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
}, },
rest.WithPrefix("/pcm/v1"), rest.WithPrefix("/pcm/v1"),
) )
server.AddRoutes(
[]rest.Route{
{
Method: http.MethodGet,
Path: "/vm/listServer",
Handler: vm.ListServerHandler(serverCtx),
},
{
Method: http.MethodGet,
Path: "/vm/listServersDetailed",
Handler: vm.ListServersDetailedHandler(serverCtx),
},
{
Method: http.MethodDelete,
Path: "/vm/deleteServer",
Handler: vm.DeleteServerHandler(serverCtx),
},
{
Method: http.MethodGet,
Path: "/vm/listImages",
Handler: vm.ListImagesHandler(serverCtx),
},
{
Method: http.MethodDelete,
Path: "/vm/deleteImage",
Handler: vm.DeleteImageHandler(serverCtx),
},
{
Method: http.MethodGet,
Path: "/vm/listNetworks",
Handler: vm.ListNetworksHandler(serverCtx),
},
{
Method: http.MethodDelete,
Path: "/vm/deleteNetwork",
Handler: vm.DeleteNetworkHandler(serverCtx),
},
{
Method: http.MethodPost,
Path: "/vm/createNetwork",
Handler: vm.CreateNetworkHandler(serverCtx),
},
{
Method: http.MethodPost,
Path: "/vm/createSubnet",
Handler: vm.CreateSubnetHandler(serverCtx),
},
{
Method: http.MethodGet,
Path: "/vm/listVolumesDetail",
Handler: vm.ListVolumesDetailHandler(serverCtx),
},
{
Method: http.MethodDelete,
Path: "/vm/deleteVolume",
Handler: vm.DeleteVolumeHandler(serverCtx),
},
{
Method: http.MethodPost,
Path: "/vm/createVolume",
Handler: vm.CreateVolumeHandler(serverCtx),
},
{
Method: http.MethodGet,
Path: "/vm/listFlavorsDetail",
Handler: vm.ListFlavorsDetailHandler(serverCtx),
},
{
Method: http.MethodPost,
Path: "/vm/createServer",
Handler: vm.CreateServerHandler(serverCtx),
},
},
rest.WithPrefix("/pcm/v1"),
)
} }

View File

@ -0,0 +1,28 @@
package vm
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/vm"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
)
func CreateNetworkHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.CreateNetworkReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := vm.NewCreateNetworkLogic(r.Context(), svcCtx)
resp, err := l.CreateNetwork(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@ -0,0 +1,28 @@
package vm
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/vm"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
)
func CreateServerHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.CreateServerReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := vm.NewCreateServerLogic(r.Context(), svcCtx)
resp, err := l.CreateServer(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@ -0,0 +1,28 @@
package vm
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/vm"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
)
func CreateSubnetHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.CreateSubnetReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := vm.NewCreateSubnetLogic(r.Context(), svcCtx)
resp, err := l.CreateSubnet(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@ -0,0 +1,28 @@
package vm
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/vm"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
)
func CreateVolumeHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.CreateVolumeReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := vm.NewCreateVolumeLogic(r.Context(), svcCtx)
resp, err := l.CreateVolume(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@ -0,0 +1,28 @@
package vm
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/vm"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
)
func DeleteImageHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.DeleteImageReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := vm.NewDeleteImageLogic(r.Context(), svcCtx)
resp, err := l.DeleteImage(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@ -0,0 +1,28 @@
package vm
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/vm"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
)
func DeleteNetworkHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.DeleteNetworkReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := vm.NewDeleteNetworkLogic(r.Context(), svcCtx)
resp, err := l.DeleteNetwork(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@ -0,0 +1,28 @@
package vm
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/vm"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
)
func DeleteServerHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.DeleteServerReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := vm.NewDeleteServerLogic(r.Context(), svcCtx)
resp, err := l.DeleteServer(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@ -0,0 +1,28 @@
package vm
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/vm"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
)
func DeleteVolumeHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.DeleteVolumeReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := vm.NewDeleteVolumeLogic(r.Context(), svcCtx)
resp, err := l.DeleteVolume(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@ -0,0 +1,28 @@
package vm
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/vm"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
)
func ListFlavorsDetailHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.ListFlavorsDetailReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := vm.NewListFlavorsDetailLogic(r.Context(), svcCtx)
resp, err := l.ListFlavorsDetail(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@ -0,0 +1,28 @@
package vm
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/vm"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
)
func ListImagesHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.ListImagesReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := vm.NewListImagesLogic(r.Context(), svcCtx)
resp, err := l.ListImages(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@ -0,0 +1,28 @@
package vm
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/vm"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
)
func ListNetworksHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.ListNetworksReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := vm.NewListNetworksLogic(r.Context(), svcCtx)
resp, err := l.ListNetworks(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@ -0,0 +1,28 @@
package vm
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/vm"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
)
func ListServerHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.ListServersReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := vm.NewListServerLogic(r.Context(), svcCtx)
resp, err := l.ListServer(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@ -0,0 +1,28 @@
package vm
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/vm"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
)
func ListServersDetailedHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.ListServersDetailedReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := vm.NewListServersDetailedLogic(r.Context(), svcCtx)
resp, err := l.ListServersDetailed(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@ -0,0 +1,28 @@
package vm
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/vm"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
)
func ListVolumesDetailHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.ListVolumesDetailReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := vm.NewListVolumesDetailLogic(r.Context(), svcCtx)
resp, err := l.ListVolumesDetail(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@ -0,0 +1,48 @@
package vm
import (
"context"
"github.com/jinzhu/copier"
"github.com/pkg/errors"
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack"
"gitlink.org.cn/jcce-pcm/utils/result"
"gitlink.org.cn/jcce-pcm/utils/tool"
"gitlink.org.cn/jcce-pcm/utils/xerr"
"k8s.io/apimachinery/pkg/util/json"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type CreateNetworkLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewCreateNetworkLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateNetworkLogic {
return &CreateNetworkLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *CreateNetworkLogic) CreateNetwork(req *types.CreateNetworkReq) (resp *types.CreateNetworkResp, err error) {
// todo: add your logic here and delete this line
CreateNetworkReq := &openstack.CreateNetworkReq{}
err = copier.CopyWithOption(CreateNetworkReq, req, copier.Option{Converters: tool.Converters})
CreateNetworkResp, err := l.svcCtx.OpenstackRpc.CreateNetwork(l.ctx, CreateNetworkReq)
if err != nil {
return nil, errors.Wrapf(xerr.NewErrMsg("Failed to get Servers list"), "Failed to get db Servers list err : %v ,req:%+v", err, req)
}
marshal, err := json.Marshal(&CreateNetworkResp)
if err != nil {
return nil, result.NewDefaultError(err.Error())
}
json.Unmarshal(marshal, &resp)
err = copier.CopyWithOption(&resp, &CreateNetworkResp, copier.Option{Converters: tool.Converters})
return resp, err
}

View File

@ -0,0 +1,48 @@
package vm
import (
"context"
"github.com/jinzhu/copier"
"github.com/pkg/errors"
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack"
"gitlink.org.cn/jcce-pcm/utils/result"
"gitlink.org.cn/jcce-pcm/utils/tool"
"gitlink.org.cn/jcce-pcm/utils/xerr"
"k8s.io/apimachinery/pkg/util/json"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type CreateServerLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewCreateServerLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateServerLogic {
return &CreateServerLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *CreateServerLogic) CreateServer(req *types.CreateServerReq) (resp *types.CreateServerResp, err error) {
// todo: add your logic here and delete this line
CreateServerReq := &openstack.CreateServerReq{}
err = copier.CopyWithOption(CreateServerReq, req, copier.Option{Converters: tool.Converters})
CreateServerResp, err := l.svcCtx.OpenstackRpc.CreateServer(l.ctx, CreateServerReq)
if err != nil {
return nil, errors.Wrapf(xerr.NewErrMsg("Failed to get Servers list"), "Failed to get db Servers list err : %v ,req:%+v", err, req)
}
marshal, err := json.Marshal(&CreateServerResp)
if err != nil {
return nil, result.NewDefaultError(err.Error())
}
json.Unmarshal(marshal, &resp)
err = copier.CopyWithOption(&resp, &CreateServerResp, copier.Option{Converters: tool.Converters})
return resp, err
}

View File

@ -0,0 +1,48 @@
package vm
import (
"context"
"github.com/jinzhu/copier"
"github.com/pkg/errors"
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack"
"gitlink.org.cn/jcce-pcm/utils/result"
"gitlink.org.cn/jcce-pcm/utils/tool"
"gitlink.org.cn/jcce-pcm/utils/xerr"
"k8s.io/apimachinery/pkg/util/json"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type CreateSubnetLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewCreateSubnetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateSubnetLogic {
return &CreateSubnetLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *CreateSubnetLogic) CreateSubnet(req *types.CreateSubnetReq) (resp *types.CreateSubnetResp, err error) {
// todo: add your logic here and delete this line
CreateSubnetReq := &openstack.CreateSubnetReq{}
err = copier.CopyWithOption(CreateSubnetReq, req, copier.Option{Converters: tool.Converters})
CreateSubnetResp, err := l.svcCtx.OpenstackRpc.CreateSubnet(l.ctx, CreateSubnetReq)
if err != nil {
return nil, errors.Wrapf(xerr.NewErrMsg("Failed to get Servers list"), "Failed to get db Servers list err : %v ,req:%+v", err, req)
}
marshal, err := json.Marshal(&CreateSubnetResp)
if err != nil {
return nil, result.NewDefaultError(err.Error())
}
json.Unmarshal(marshal, &resp)
err = copier.CopyWithOption(&resp, &CreateSubnetResp, copier.Option{Converters: tool.Converters})
return resp, err
}

View File

@ -0,0 +1,48 @@
package vm
import (
"context"
"github.com/jinzhu/copier"
"github.com/pkg/errors"
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack"
"gitlink.org.cn/jcce-pcm/utils/result"
"gitlink.org.cn/jcce-pcm/utils/tool"
"gitlink.org.cn/jcce-pcm/utils/xerr"
"k8s.io/apimachinery/pkg/util/json"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type CreateVolumeLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewCreateVolumeLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateVolumeLogic {
return &CreateVolumeLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *CreateVolumeLogic) CreateVolume(req *types.CreateVolumeReq) (resp *types.CreateVolumeResp, err error) {
// todo: add your logic here and delete this line
CreateVolumeReq := &openstack.CreateVolumeReq{}
err = copier.CopyWithOption(CreateVolumeReq, req, copier.Option{Converters: tool.Converters})
CreateVolumeResp, err := l.svcCtx.OpenstackRpc.CreateVolume(l.ctx, CreateVolumeReq)
if err != nil {
return nil, errors.Wrapf(xerr.NewErrMsg("Failed to get Servers list"), "Failed to get db Servers list err : %v ,req:%+v", err, req)
}
marshal, err := json.Marshal(&CreateVolumeResp)
if err != nil {
return nil, result.NewDefaultError(err.Error())
}
json.Unmarshal(marshal, &resp)
err = copier.CopyWithOption(&resp, &CreateVolumeResp, copier.Option{Converters: tool.Converters})
return resp, err
}

View File

@ -0,0 +1,48 @@
package vm
import (
"context"
"github.com/jinzhu/copier"
"github.com/pkg/errors"
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack"
"gitlink.org.cn/jcce-pcm/utils/result"
"gitlink.org.cn/jcce-pcm/utils/tool"
"gitlink.org.cn/jcce-pcm/utils/xerr"
"k8s.io/apimachinery/pkg/util/json"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type DeleteImageLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewDeleteImageLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteImageLogic {
return &DeleteImageLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *DeleteImageLogic) DeleteImage(req *types.DeleteImageReq) (resp *types.DeleteImageResp, err error) {
// todo: add your logic here and delete this line
DeleteImageReq := &openstack.DeleteImageReq{}
err = copier.CopyWithOption(DeleteImageReq, req, copier.Option{Converters: tool.Converters})
DeleteImageResp, err := l.svcCtx.OpenstackRpc.DeleteImage(l.ctx, DeleteImageReq)
if err != nil {
return nil, errors.Wrapf(xerr.NewErrMsg("Failed to get Servers list"), "Failed to get db Servers list err : %v ,req:%+v", err, req)
}
marshal, err := json.Marshal(&DeleteImageResp)
if err != nil {
return nil, result.NewDefaultError(err.Error())
}
json.Unmarshal(marshal, &resp)
err = copier.CopyWithOption(&resp, &DeleteImageResp, copier.Option{Converters: tool.Converters})
return resp, err
}

View File

@ -0,0 +1,48 @@
package vm
import (
"context"
"github.com/jinzhu/copier"
"github.com/pkg/errors"
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack"
"gitlink.org.cn/jcce-pcm/utils/result"
"gitlink.org.cn/jcce-pcm/utils/tool"
"gitlink.org.cn/jcce-pcm/utils/xerr"
"k8s.io/apimachinery/pkg/util/json"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type DeleteNetworkLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewDeleteNetworkLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteNetworkLogic {
return &DeleteNetworkLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *DeleteNetworkLogic) DeleteNetwork(req *types.DeleteNetworkReq) (resp *types.DeleteNetworkResp, err error) {
// todo: add your logic here and delete this line
DeleteNetworkReq := &openstack.DeleteNetworkReq{}
err = copier.CopyWithOption(DeleteNetworkReq, req, copier.Option{Converters: tool.Converters})
DeleteNetworkResp, err := l.svcCtx.OpenstackRpc.DeleteNetwork(l.ctx, DeleteNetworkReq)
if err != nil {
return nil, errors.Wrapf(xerr.NewErrMsg("Failed to delete network "), "Failed to delete network err : %v ,req:%+v", err, req)
}
marshal, err := json.Marshal(&DeleteNetworkResp)
if err != nil {
return nil, result.NewDefaultError(err.Error())
}
json.Unmarshal(marshal, &resp)
err = copier.CopyWithOption(&resp, &DeleteNetworkResp, copier.Option{Converters: tool.Converters})
return resp, err
}

View File

@ -0,0 +1,48 @@
package vm
import (
"context"
"github.com/jinzhu/copier"
"github.com/pkg/errors"
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack"
"gitlink.org.cn/jcce-pcm/utils/result"
"gitlink.org.cn/jcce-pcm/utils/tool"
"gitlink.org.cn/jcce-pcm/utils/xerr"
"k8s.io/apimachinery/pkg/util/json"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type DeleteServerLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewDeleteServerLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteServerLogic {
return &DeleteServerLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *DeleteServerLogic) DeleteServer(req *types.DeleteServerReq) (resp *types.DeleteServerResp, err error) {
// todo: add your logic here and delete this line
DeleteServerReq := &openstack.DeleteServerReq{}
err = copier.CopyWithOption(DeleteServerReq, req, copier.Option{Converters: tool.Converters})
DeleteServerResp, err := l.svcCtx.OpenstackRpc.DeleteServer(l.ctx, DeleteServerReq)
if err != nil {
return nil, errors.Wrapf(xerr.NewErrMsg("Failed to get Servers list"), "Failed to get db Servers list err : %v ,req:%+v", err, req)
}
marshal, err := json.Marshal(&DeleteServerResp)
if err != nil {
return nil, result.NewDefaultError(err.Error())
}
json.Unmarshal(marshal, &resp)
err = copier.CopyWithOption(&resp, &DeleteServerResp, copier.Option{Converters: tool.Converters})
return resp, err
}

View File

@ -0,0 +1,48 @@
package vm
import (
"context"
"github.com/jinzhu/copier"
"github.com/pkg/errors"
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack"
"gitlink.org.cn/jcce-pcm/utils/result"
"gitlink.org.cn/jcce-pcm/utils/tool"
"gitlink.org.cn/jcce-pcm/utils/xerr"
"k8s.io/apimachinery/pkg/util/json"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type DeleteVolumeLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewDeleteVolumeLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteVolumeLogic {
return &DeleteVolumeLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *DeleteVolumeLogic) DeleteVolume(req *types.DeleteVolumeReq) (resp *types.DeleteVolumeResp, err error) {
// todo: add your logic here and delete this line
DeleteVolumeReq := &openstack.DeleteVolumeReq{}
err = copier.CopyWithOption(DeleteVolumeReq, req, copier.Option{Converters: tool.Converters})
DeleteVolumeResp, err := l.svcCtx.OpenstackRpc.DeleteVolume(l.ctx, DeleteVolumeReq)
if err != nil {
return nil, errors.Wrapf(xerr.NewErrMsg("Failed to get Servers list"), "Failed to get db Servers list err : %v ,req:%+v", err, req)
}
marshal, err := json.Marshal(&DeleteVolumeResp)
if err != nil {
return nil, result.NewDefaultError(err.Error())
}
json.Unmarshal(marshal, &resp)
err = copier.CopyWithOption(&resp, &DeleteVolumeResp, copier.Option{Converters: tool.Converters})
return resp, err
}

View File

@ -0,0 +1,48 @@
package vm
import (
"context"
"github.com/jinzhu/copier"
"github.com/pkg/errors"
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack"
"gitlink.org.cn/jcce-pcm/utils/result"
"gitlink.org.cn/jcce-pcm/utils/tool"
"gitlink.org.cn/jcce-pcm/utils/xerr"
"k8s.io/apimachinery/pkg/util/json"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type ListFlavorsDetailLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewListFlavorsDetailLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListFlavorsDetailLogic {
return &ListFlavorsDetailLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *ListFlavorsDetailLogic) ListFlavorsDetail(req *types.ListFlavorsDetailReq) (resp *types.ListFlavorsDetailResp, err error) {
// todo: add your logic here and delete this line
ListFlavorsDetailReq := &openstack.ListFlavorsDetailReq{}
err = copier.CopyWithOption(ListFlavorsDetailReq, req, copier.Option{Converters: tool.Converters})
ListFlavorsDetailResp, err := l.svcCtx.OpenstackRpc.ListFlavorsDetail(l.ctx, ListFlavorsDetailReq)
if err != nil {
return nil, errors.Wrapf(xerr.NewErrMsg("Failed to get Servers list"), "Failed to get db Servers list err : %v ,req:%+v", err, req)
}
marshal, err := json.Marshal(&ListFlavorsDetailResp)
if err != nil {
return nil, result.NewDefaultError(err.Error())
}
json.Unmarshal(marshal, &resp)
err = copier.CopyWithOption(&resp, &ListFlavorsDetailResp, copier.Option{Converters: tool.Converters})
return resp, err
}

View File

@ -0,0 +1,48 @@
package vm
import (
"context"
"github.com/jinzhu/copier"
"github.com/pkg/errors"
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack"
"gitlink.org.cn/jcce-pcm/utils/result"
"gitlink.org.cn/jcce-pcm/utils/tool"
"gitlink.org.cn/jcce-pcm/utils/xerr"
"k8s.io/apimachinery/pkg/util/json"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type ListImagesLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewListImagesLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListImagesLogic {
return &ListImagesLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *ListImagesLogic) ListImages(req *types.ListImagesReq) (resp *types.ListImagesResp, err error) {
// todo: add your logic here and delete this line
ListImagesReq := &openstack.ListImagesReq{}
err = copier.CopyWithOption(ListImagesReq, req, copier.Option{Converters: tool.Converters})
ListImagesResp, err := l.svcCtx.OpenstackRpc.LisImages(l.ctx, ListImagesReq)
if err != nil {
return nil, errors.Wrapf(xerr.NewErrMsg("Failed to get Servers list"), "Failed to get db Servers list err : %v ,req:%+v", err, req)
}
marshal, err := json.Marshal(&ListImagesResp)
if err != nil {
return nil, result.NewDefaultError(err.Error())
}
json.Unmarshal(marshal, &resp)
err = copier.CopyWithOption(&resp, &ListImagesResp, copier.Option{Converters: tool.Converters})
return resp, err
}

View File

@ -0,0 +1,48 @@
package vm
import (
"context"
"github.com/jinzhu/copier"
"github.com/pkg/errors"
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack"
"gitlink.org.cn/jcce-pcm/utils/result"
"gitlink.org.cn/jcce-pcm/utils/tool"
"gitlink.org.cn/jcce-pcm/utils/xerr"
"k8s.io/apimachinery/pkg/util/json"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type ListNetworksLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewListNetworksLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListNetworksLogic {
return &ListNetworksLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *ListNetworksLogic) ListNetworks(req *types.ListNetworksReq) (resp *types.ListNetworksResp, err error) {
// todo: add your logic here and delete this line
ListNetworksReq := &openstack.ListNetworksReq{}
err = copier.CopyWithOption(ListNetworksReq, req, copier.Option{Converters: tool.Converters})
ListNetworksResp, err := l.svcCtx.OpenstackRpc.ListNetworks(l.ctx, ListNetworksReq)
if err != nil {
return nil, errors.Wrapf(xerr.NewErrMsg("Failed to get Servers list"), "Failed to get db Servers list err : %v ,req:%+v", err, req)
}
marshal, err := json.Marshal(&ListNetworksResp)
if err != nil {
return nil, result.NewDefaultError(err.Error())
}
json.Unmarshal(marshal, &resp)
err = copier.CopyWithOption(&resp, &ListNetworksResp, copier.Option{Converters: tool.Converters})
return resp, err
}

View File

@ -0,0 +1,47 @@
package vm
import (
"context"
"github.com/jinzhu/copier"
"github.com/pkg/errors"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack"
"gitlink.org.cn/jcce-pcm/utils/result"
"gitlink.org.cn/jcce-pcm/utils/tool"
"gitlink.org.cn/jcce-pcm/utils/xerr"
"k8s.io/apimachinery/pkg/util/json"
"github.com/zeromicro/go-zero/core/logx"
)
type ListServerLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewListServerLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListServerLogic {
return &ListServerLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *ListServerLogic) ListServer(req *types.ListServersReq) (resp *types.ListServersResp, err error) {
// todo: add your logic here and delete this line
ListServersReq := &openstack.ListServersReq{}
err = copier.CopyWithOption(ListServersReq, req, copier.Option{Converters: tool.Converters})
ListServersResp, err := l.svcCtx.OpenstackRpc.ListServers(l.ctx, ListServersReq)
if err != nil {
return nil, errors.Wrapf(xerr.NewErrMsg("Failed to get Servers list"), "Failed to get db Servers list err : %v ,req:%+v", err, req)
}
marshal, err := json.Marshal(&ListServersResp)
if err != nil {
return nil, result.NewDefaultError(err.Error())
}
json.Unmarshal(marshal, &resp)
err = copier.CopyWithOption(&resp, &ListServersResp, copier.Option{Converters: tool.Converters})
return resp, err
}

View File

@ -0,0 +1,49 @@
package vm
import (
"context"
"github.com/jinzhu/copier"
"github.com/pkg/errors"
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack"
"gitlink.org.cn/jcce-pcm/utils/result"
"gitlink.org.cn/jcce-pcm/utils/tool"
"gitlink.org.cn/jcce-pcm/utils/xerr"
"k8s.io/apimachinery/pkg/util/json"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type ListServersDetailedLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewListServersDetailedLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListServersDetailedLogic {
return &ListServersDetailedLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *ListServersDetailedLogic) ListServersDetailed(req *types.ListServersDetailedReq) (resp *types.ListServersDetailedResp, err error) {
// todo: add your logic here and delete this line
ListServersDetailedReq := &openstack.ListServersDetailedReq{}
err = copier.CopyWithOption(ListServersDetailedReq, req, copier.Option{Converters: tool.Converters})
ListServersDetailedResp, err := l.svcCtx.OpenstackRpc.ListServersDetailed(l.ctx, ListServersDetailedReq)
if err != nil {
return nil, errors.Wrapf(xerr.NewErrMsg("Failed to get Servers list"), "Failed to get db Servers list err : %v ,req:%+v", err, req)
}
marshal, err := json.Marshal(&ListServersDetailedResp)
if err != nil {
return nil, result.NewDefaultError(err.Error())
}
json.Unmarshal(marshal, &resp)
err = copier.CopyWithOption(&resp, &ListServersDetailedResp, copier.Option{Converters: tool.Converters})
return resp, err
}

View File

@ -0,0 +1,49 @@
package vm
import (
"context"
"github.com/jinzhu/copier"
"github.com/pkg/errors"
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack"
"gitlink.org.cn/jcce-pcm/utils/result"
"gitlink.org.cn/jcce-pcm/utils/tool"
"gitlink.org.cn/jcce-pcm/utils/xerr"
"k8s.io/apimachinery/pkg/util/json"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type ListVolumesDetailLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewListVolumesDetailLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListVolumesDetailLogic {
return &ListVolumesDetailLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *ListVolumesDetailLogic) ListVolumesDetail(req *types.ListVolumesDetailReq) (resp *types.ListVolumesDetailResp, err error) {
// todo: add your logic here and delete this line
ListVolumesDetailReq := &openstack.ListVolumesDetailReq{}
err = copier.CopyWithOption(ListVolumesDetailReq, req, copier.Option{Converters: tool.Converters})
ListVolumesDetailResp, err := l.svcCtx.OpenstackRpc.ListVolumesDetail(l.ctx, ListVolumesDetailReq)
if err != nil {
return nil, errors.Wrapf(xerr.NewErrMsg("Failed to get Volumes list"), "Failed to get db Volumes list err : %v ,req:%+v", err, req)
}
marshal, err := json.Marshal(&ListVolumesDetailResp)
if err != nil {
return nil, result.NewDefaultError(err.Error())
}
json.Unmarshal(marshal, &resp)
err = copier.CopyWithOption(&resp, &ListVolumesDetailResp, copier.Option{Converters: tool.Converters})
return resp, err
}

View File

@ -16,6 +16,7 @@ import (
"gitlink.org.cn/jcce-pcm/pcm-participant-ceph/cephclient" "gitlink.org.cn/jcce-pcm/pcm-participant-ceph/cephclient"
"gitlink.org.cn/jcce-pcm/pcm-participant-modelarts/modelartsclient" "gitlink.org.cn/jcce-pcm/pcm-participant-modelarts/modelartsclient"
"gitlink.org.cn/jcce-pcm/pcm-participant-octopus/octopusclient" "gitlink.org.cn/jcce-pcm/pcm-participant-octopus/octopusclient"
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstackclient"
"gitlink.org.cn/jcce-pcm/pcm-participant-slurm/hpcthclient" "gitlink.org.cn/jcce-pcm/pcm-participant-slurm/hpcthclient"
"gitlink.org.cn/jcce-pcm/utils/tool" "gitlink.org.cn/jcce-pcm/utils/tool"
"gorm.io/driver/mysql" "gorm.io/driver/mysql"
@ -36,6 +37,7 @@ type ServiceContext struct {
THRpc hpcthclient.HpcTH THRpc hpcthclient.HpcTH
OctopusRpc octopusclient.Octopus OctopusRpc octopusclient.Octopus
CephRpc cephclient.Ceph CephRpc cephclient.Ceph
OpenstackRpc openstackclient.Openstack
DockerClient *client.Client DockerClient *client.Client
Downloader *s3manager.Downloader Downloader *s3manager.Downloader
Uploader *s3manager.Uploader Uploader *s3manager.Uploader
@ -84,6 +86,7 @@ func NewServiceContext(c config.Config) *ServiceContext {
CephRpc: cephclient.NewCeph(zrpc.MustNewClient(c.CephRpcConf)), CephRpc: cephclient.NewCeph(zrpc.MustNewClient(c.CephRpcConf)),
ACRpc: hpcacclient.NewHpcAC(zrpc.MustNewClient(c.ACRpcConf)), ACRpc: hpcacclient.NewHpcAC(zrpc.MustNewClient(c.ACRpcConf)),
OctopusRpc: octopusclient.NewOctopus(zrpc.MustNewClient(c.OctopusRpcConf)), OctopusRpc: octopusclient.NewOctopus(zrpc.MustNewClient(c.OctopusRpcConf)),
OpenstackRpc: openstackclient.NewOpenstack(zrpc.MustNewClient(c.OpenstackRpcConf)),
DockerClient: dockerClient, DockerClient: dockerClient,
Downloader: downloader, Downloader: downloader,
Uploader: uploader, Uploader: uploader,

View File

@ -2101,3 +2101,392 @@ type CheckReq struct {
type CheckResp struct { type CheckResp struct {
Exist bool `json:"exist"` Exist bool `json:"exist"`
} }
type ListServersReq struct {
Limit int32 `form:"limit,optional"`
OffSet int32 `form:"offSet,optional"`
}
type ListServersResp struct {
TotalNumber uint32 `json:"totalNumber" copier:"TotalNumber"`
Servers []Servers `json:"servers" copier:"Servers"`
Servers_links []Servers_links `json:"serversLinks" copier:"Servers_links"`
Code int32 `json:"code,omitempty"`
Msg string `json:"msg,omitempty"`
ErrorMsg string `json:"errorMsg,omitempty"`
}
type Servers struct {
Id string `json:"id" copier:"Id"`
Name string `json:"name" copier:"Name"`
Links []Links `json:"links " copier:"Links "`
}
type Links struct {
Href string `json:"href " copier:"Href"`
Rel string `json:"rel" copier:"Rel"`
}
type Servers_links struct {
Href string `json:"href " copier:"Href"`
Rel string `json:"rel" copier:"Rel"`
}
type ListServersDetailedReq struct {
}
type ListServersDetailedResp struct {
ServersDetailed []ServersDetailed `json:"servers" copier:"ServersDetailed"`
Code int32 `json:"code,omitempty"`
Msg string `json:"msg,omitempty"`
ErrorMsg string `json:"errorMsg,omitempty"`
}
type ServersDetailed struct {
Created string `json:"created" copier:"created"`
Id string `json:"id" copier:"id"`
Key_name string `json:"key_name" copier:"key_name"`
Locked bool `json:"locked" copier:"locked"`
Name string `json:"name" copier:"name"`
Progress uint32 `json:"progress" copier:"progress"`
Status string `json:"status" copier:"status"`
Tenant_id string `json:"tenant_id" copier:"tenant_id"`
Updated string `json:"updated" copier:"updated"`
User_id string `json:"user_id" copier:"user_id"`
}
type DeleteServerReq struct {
ServerId string `form:"server_id" copier:"ServerId"`
}
type DeleteServerResp struct {
Code int32 `json:"code,omitempty"`
Msg string `json:"msg,omitempty"`
ErrorMsg string `json:"errorMsg,omitempty"`
}
type CreateServerReq struct {
Server Server `json:"server" copier:"Server"`
}
type CreateServerResp struct {
Server ServerResp `json:"server" copier:"Server"`
Code int32 `json:"code,omitempty"`
Msg string `json:"msg,omitempty"`
ErrorMsg string `json:"errorMsg,omitempty"`
}
type Server struct {
Name string `json:"name" copier:"Name"`
FlavorRef string `json:"flavorRef" copier:"FlavorRef"`
ImageRef string `json:"imageRef" copier:"ImageRef"`
Networks []CreNetwork `json:"networks" copier:"Networks"`
}
type CreNetwork struct {
Uuid string `json:"uuid" copier:"Uuid"`
}
type ServerResp struct {
Id string `json:"id" copier:"Id"`
Links []Links `json:"links" copier:"Links"`
OSDCFDiskConfig string `json:"OS_DCF_diskConfig" copier:"OSDCFDiskConfig"`
SecurityGroups []Security_groups `json:"security_groups" copier:"SecurityGroups"`
AdminPass string `json:"adminPass" copier:"AdminPass"`
}
type Security_groups struct {
Name string `json:"name" copier:"Name"`
}
type ListImagesReq struct {
Limit int32 `form:"limit,optional"`
}
type ListImagesResp struct {
First string `json:"first" copier:"First"`
Next string `json:"next" copier:"Next"`
Schema string `json:"schema" copier:"Schema"`
Images []Images `json:"images" copier:"Images"`
Code int32 `json:"code,omitempty"`
Msg string `json:"msg,omitempty"`
ErrorMsg string `json:"errorMsg,omitempty"`
}
type Images struct {
Status string `json:"status" copier:"Status"`
Name string `json:"name" copier:"Name"`
Tags []Tags `json:"tags" copier:"Tags"`
Container_format string `json:"container_format" copier:"Container_format"`
Created_at string `json:"created_at" copier:"Created_at"`
Disk_format string `json:"disk_format" copier:"Disk_format"`
Updated_at string `json:"updated_at" copier:"Updated_at"`
Visibility string `json:"visibility" copier:"Visibility"`
Self string `json:"self" copier:"Self"`
Min_disk uint32 `json:"min_disk" copier:"Min_disk"`
Protected bool `json:"protected" copier:"Protected"`
Id string `json:"id" copier:"Id"`
File string `json:"file" copier:"File"`
Checksum string `json:"checksum" copier:"Checksum"`
Os_hash_algo string `json:"os_hash_algo" copier:"Os_hash_algo"`
Os_hash_value string `json:"os_hash_value" copier:"Os_hash_value"`
Os_hidden string `json:"os_hidden" copier:"Os_hidden"`
Owner string `json:"owner" copier:"Owner"`
Size uint32 `json:"size" copier:"Size"`
Min_ram uint32 `json:"min_ram" copier:"Min_ram"`
Schema string `json:"schema" copier:"Schema"`
Virtual_size int32 `json:"virtual_size" copier:"Virtual_size"`
}
type Tags struct {
}
type CreateImageReq struct {
Container_format string `json:"container_format" copier:"Container_format"`
Disk_format string `json:"disk_format" copier:"Disk_format"`
Id string `json:"id" copier:"Id"`
Min_disk string `json:"min_disk" copier:"Min_disk"`
Min_ram string `json:"min_ram" copier:"Min_ram"`
Name string `json:"name" copier:"Name"`
Protected string `json:"protected" copier:"Protected"`
Tags []Tags `json:"tags" copier:"Tags"`
Visibility string `json:"visibility" copier:"visibility"`
}
type CreateImageResq struct {
Location string `json:"location" copier:"Location"`
}
type DeleteImageReq struct {
ImageId string `form:"image_id" copier:"ImageId"`
}
type DeleteImageResp struct {
Code int32 `json:"code,omitempty"`
Msg string `json:"msg,omitempty"`
ErrorMsg string `json:"errorMsg,omitempty"`
}
type ListNetworksReq struct {
}
type ListNetworksResp struct {
Networks []Network `json:"networks" copier:"Networks"`
Code int32 `json:"code,omitempty"`
Msg string `json:"msg,omitempty"`
ErrorMsg string `json:"errorMsg,omitempty"`
}
type Network struct {
AdminStateUp bool `json:"admin_state_up" copier:"AdminStateUp"`
AvailabilityZoneHints []string `json:"availability_zone_hints" copier:"AvailabilityZoneHints"`
AvailabilityZones []string `json:"availability_zones" copier:"AvailabilityZones"`
CreatedAt string `json:"created_at" copier:"CreatedAt"`
DnsDomain string `json:"dns_domain" copier:"DnsDomain"`
Id string `json:"id" copier:"Id"`
Ipv4AddressScope string `json:"ipv4_address_scope" copier:"Ipv4AddressScope"`
Ipv6AddressScope string `json:"ipv6_address_scope" copier:"Ipv6AddressScope"`
L2Adjacency bool `json:"l2_adjacency" copier:"L2Adjacency"`
Mtu int64 `json:"mtu" copier:"Mtu"`
Name string `json:"name" copier:"Name"`
PortSecurityEnabled bool `json:"port_security_enabled" copier:"PortSecurityEnabled"`
ProjectId string `json:"project_id" copier:"ProjectId"`
QosPolicyId string `json:"qos_policy_id" copier:"QosPolicyId"`
RevisionNumber string `json:"revision_number" copier:"RevisionNumber"`
Shared bool `json:"shared" copier:"Shared"`
RouterExternal bool `json:"router_external" copier:"RouterExternal"`
Status string `json:"status" copier:"Status"`
Subnets []string `json:"subnets" copier:"Subnets"`
Tags []string `json:"tags" copier:"Tags"`
TenantId string `json:"tenant_id" copier:"TenantId"`
UpdatedAt string `json:"updated_at" copier:"UpdatedAt"`
VlanTransparent bool `json:"vlan_transparent" copier:"VlanTransparent"`
Description string `json:"description" copier:"Description"`
IsDefault bool `json:"is_default" copier:"IsDefault"`
}
type DeleteNetworkReq struct {
NetworkId string `form:"network_id" copier:"NetworkId"`
}
type DeleteNetworkResp struct {
Code int32 `json:"code,omitempty" copier:"Code"`
Msg string `json:"msg,omitempty" copier:"Msg"`
ErrorMsg string `json:"errorMsg,omitempty" copier:"ErrorMsg"`
}
type CreateNetworkReq struct {
Network CreateNetwork `json:"network" copier:"Network"`
}
type CreateNetworkResp struct {
Network Network `json:"network" copier:"Network"`
Code int32 `json:"code,omitempty" copier:"Code"`
Msg string `json:"msg,omitempty" copier:"Msg"`
ErrorMsg string `json:"errorMsg,omitempty" copier:"ErrorMsg"`
}
type CreateNetwork struct {
AdminStateUp bool `json:"admin_state_up" copier:"AdminStateUp"`
Name string `json:"name" copier:"Name"`
Shared bool `json:"shared" copier:"Shared"`
}
type CreateSubnetReq struct {
Subnet Subnet `json:"subnet" copier:"Subnet"`
}
type CreateSubnetResp struct {
Subnet SubnetResp `json:"subnet" copier:"Subnet"`
Code int32 `json:"code,omitempty" copier:"Code"`
Msg string `json:"msg,omitempty" copier:"Msg"`
ErrorMsg string `json:"errorMsg,omitempty" copier:"ErrorMsg"`
}
type Subnet struct {
NetworkId string `json:"network_id" copier:"NetworkId"`
Name string `json:"name" copier:"Name"`
Cidr string `json:"cidr" copier:"Cidr"`
Ip_version int32 `json:"ip_version" copier:"IpVersion"`
Gateway_ip string `json:"gateway_ip" copier:"GatewayIp"`
Enable_dhcp bool `json:"enable_dhcp" copier:"EnableDhcp"`
Allocation_pools []Allocation_pools `json:"allocation_pools" copier:"AllocationPools"`
Dns_nameservers []string `json:"dns_nameservers" copier:"DnsNameservers"`
Host_routes []string `json:"host_routes" copier:"HostRoutes"`
}
type SubnetResp struct {
Name string `json:"name" copier:"Name"`
Cidr string `json:"cidr" copier:"Cidr"`
Ip_version int32 `json:"ip_version" copier:"Ip_version"`
Gateway_ip string `json:"gateway_ip" copier:"Gateway_ip"`
Enable_dhcp bool `json:"enable_dhcp" copier:"Enable_dhcp"`
Allocation_pools []Allocation_pools `json:"allocation_pools" copier:"Allocation_pools"`
Dns_nameservers []string `json:"dns_nameservers" copier:"Dns_nameservers"`
Host_routes []string `json:"host_routes" copier:"Host_routes"`
Network_id string `json:"network_id" copier:"Network_id"`
Segment_id string `json:"segment_id" copier:"Segment_id"`
Project_id string `json:"project_id" copier:"Project_id"`
Tenant_id string `json:"tenant_id" copier:"Tenant_id"`
Dns_publish_fixed_ip string `json:"Dns_publish_fixed_ip" copier:"Dns_publish_fixed_ip"`
Id string `json:"id" copier:"Id"`
Created_at string `json:"created_at" copier:"Created_at"`
Description string `json:"description" copier:"Description"`
Ipv6_address_mode string `json:"ipv6_address_mode" copier:"Ipv6_address_mode"`
Ipv6_ra_mode string `json:"ipv6_ra_mode" copier:"Ipv6_ra_mode"`
Revision_number string `json:"revision_number" copier:"Revision_number"`
Service_types []string `json:"service_types" copier:"Service_types"`
Subnetpool_id string `json:"subnetpool_id" copier:"Subnetpool_id"`
Tags []string `json:"tags" copier:"Tags"`
Updated_at string `json:"updated_at" copier:"Updated_at"`
}
type Allocation_pools struct {
Start string `json:"start" copier:"Start"`
End string `json:"end" copier:"End"`
}
type ListVolumesDetailReq struct {
}
type ListVolumesDetailResp struct {
VolumeDetail []VolumeDetail `json:"volumes" copier:"VolumeDetail"`
Code int32 `json:"code,omitempty"`
Msg string `json:"msg,omitempty"`
ErrorMsg string `json:"errorMsg,omitempty"`
}
type VolumeDetail struct {
Created_at string `json:"created_at" copier:"created_at"`
Id string `json:"id" copier:"id"`
Availability_zone string `json:"availability_zone" copier:"availability_zone"`
Encrypted bool `json:"encrypted" copier:"encrypted"`
Name string `json:"name" copier:"name"`
Size int32 `json:"size" copier:"size"`
Status string `json:"status" copier:"status"`
Tenant_id string `json:"tenant_id" copier:"tenant_id"`
Updated string `json:"Updated" copier:"updated"`
User_id string `json:"User_id" copier:"user_id"`
Description string `json:"description" copier:"description"`
Multiattach bool `json:"multiattach" copier:"multiattach"`
Bootable bool `json:"bootable" copier:"bootable"`
Volume_type string `json:"volume_type" copier:"volume_type"`
Count int32 `json:"count" copier:"Count"`
Shared_targets bool `json:"shared_targets" copier:"shared_targets"`
Consumes_quota bool `json:"consumes_quota" copier:"consumes_quota"`
}
type DeleteVolumeReq struct {
VolumeId string `form:"volume_id" copier:"VolumeId"`
Cascade bool `json:"cascade" copier:"cascade"`
Force bool `json:"force" copier:"force"`
}
type DeleteVolumeResp struct {
Code int32 `json:"code,omitempty" copier:"Code"`
Msg string `json:"msg,omitempty" copier:"Msg"`
ErrorMsg string `json:"errorMsg,omitempty" copier:"ErrorMsg"`
}
type CreateVolumeReq struct {
Volume Volume `json:"volume" copier:"Volume"`
}
type CreateVolumeResp struct {
Volume VolumeResp `json:"volume" copier:"Volume"`
Code int32 `json:"code,omitempty" copier:"Code"`
Msg string `json:"msg,omitempty" copier:"Msg"`
ErrorMsg string `json:"errorMsg,omitempty" copier:"ErrorMsg"`
}
type Volume struct {
Size int32 `json:"size" copier:"Size"`
AvailabilityZone string `json:"availability_zone" copier:"AvailabilityZone"`
Description string `json:"description" copier:"Description"`
Name string `json:"name" copier:"Name"`
VolumeType string `json:"volume_type" copier:"VolumeType"`
}
type VolumeResp struct {
CreatedAt string `json:"created_at" copier:"CreatedAt"`
Id string `json:"id" copier:"Id"`
AvailabilityZone string `json:"availability_zone" copier:"AvailabilityZone"`
Encrypted bool `json:"encrypted" copier:"Encrypted"`
Name string `json:"name" copier:"Name"`
Size int32 `json:"size" copier:"Size"`
Status string `json:"status" copier:"Status"`
TenantId string `json:"tenant_id" copier:"TenantId"`
Updated string `json:"updated" copier:"Updated"`
UserId string `json:"user_id" copier:"UserId"`
Description string `json:"description" copier:"Description"`
Multiattach bool `json:"multiattach" copier:"Multiattach"`
Bootable bool `json:"bootable" copier:"Bootable"`
VolumeType string `json:"volume_type" copier:"VolumeType"`
Count int32 `json:"count" copier:"Count"`
SharedTargets bool `json:"shared_targets" copier:"SharedTargets"`
ConsumesQuota bool `json:"consumes_quota" copier:"ConsumesQuota"`
}
type ListFlavorsDetailReq struct {
}
type ListFlavorsDetailResp struct {
Flavor []Flavors `json:"flavors" copier:"Flavor"`
Code int32 `json:"code,omitempty"`
Msg string `json:"msg,omitempty"`
ErrorMsg string `json:"errorMsg,omitempty"`
}
type Flavors struct {
Name string `json:"name" copier:"name"`
Description string `json:"description" copier:"description"`
Id string `json:"id" copier:"id"`
Disk int32 `json:"disk" copier:"disk"`
Ephemeral uint32 `json:"ephemeral" copier:"ephemeral"`
Original_name string `json:"original_name" copier:"original_name"`
Ram int32 `json:"ram" copier:"ram"`
Swap int32 `json:"swap" copier:"swap"`
Vcpus int32 `json:"vcpus" copier:"vcpus"`
Rxtx_factor float32 `json:"rxtx_factor" copier:"rxtx_factor"`
Os_flavor_access_is_public bool `json:"os_flavor_access_is_public" copier:"os_flavor_access_is_public"`
}

21
go.mod
View File

@ -14,11 +14,12 @@ require (
github.com/robfig/cron/v3 v3.0.1 github.com/robfig/cron/v3 v3.0.1
github.com/shopspring/decimal v1.3.1 github.com/shopspring/decimal v1.3.1
github.com/zeromicro/go-queue v1.1.8 github.com/zeromicro/go-queue v1.1.8
github.com/zeromicro/go-zero v1.5.4 github.com/zeromicro/go-zero v1.5.5
gitlink.org.cn/jcce-pcm/pcm-participant-ac v0.0.0-20230814074259-99e24e1194d1 gitlink.org.cn/jcce-pcm/pcm-participant-ac v0.0.0-20230814074259-99e24e1194d1
gitlink.org.cn/jcce-pcm/pcm-participant-ceph v0.0.0-20230817103341-2459e5bfc835 gitlink.org.cn/jcce-pcm/pcm-participant-ceph v0.0.0-20230817103341-2459e5bfc835
gitlink.org.cn/jcce-pcm/pcm-participant-modelarts v0.0.0-20230719015658-08a29549d86a gitlink.org.cn/jcce-pcm/pcm-participant-modelarts v0.0.0-20230719015658-08a29549d86a
gitlink.org.cn/jcce-pcm/pcm-participant-octopus v0.0.0-20230714030856-601935bc30e2 gitlink.org.cn/jcce-pcm/pcm-participant-octopus v0.0.0-20230714030856-601935bc30e2
gitlink.org.cn/jcce-pcm/pcm-participant-openstack v0.0.0-20230831020641-98c737b3e61e
gitlink.org.cn/jcce-pcm/pcm-participant-slurm v0.0.0-20230714030125-a52fa198ddf4 gitlink.org.cn/jcce-pcm/pcm-participant-slurm v0.0.0-20230714030125-a52fa198ddf4
gitlink.org.cn/jcce-pcm/utils v0.0.2 gitlink.org.cn/jcce-pcm/utils v0.0.2
gonum.org/v1/gonum v0.11.0 gonum.org/v1/gonum v0.11.0
@ -89,8 +90,8 @@ require (
github.com/pelletier/go-toml/v2 v2.0.9 // indirect github.com/pelletier/go-toml/v2 v2.0.9 // indirect
github.com/pierrec/lz4/v4 v4.1.17 // indirect github.com/pierrec/lz4/v4 v4.1.17 // indirect
github.com/prometheus/client_golang v1.16.0 // indirect github.com/prometheus/client_golang v1.16.0 // indirect
github.com/prometheus/client_model v0.3.0 // indirect github.com/prometheus/client_model v0.4.0 // indirect
github.com/prometheus/common v0.42.0 // indirect github.com/prometheus/common v0.44.0 // indirect
github.com/prometheus/procfs v0.10.1 // indirect github.com/prometheus/procfs v0.10.1 // indirect
github.com/segmentio/kafka-go v0.4.38 // indirect github.com/segmentio/kafka-go v0.4.38 // indirect
github.com/spaolacci/murmur3 v1.1.0 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect
@ -109,16 +110,16 @@ require (
go.opentelemetry.io/otel/trace v1.14.0 // indirect go.opentelemetry.io/otel/trace v1.14.0 // indirect
go.opentelemetry.io/proto/otlp v0.19.0 // indirect go.opentelemetry.io/proto/otlp v0.19.0 // indirect
go.uber.org/atomic v1.10.0 // indirect go.uber.org/atomic v1.10.0 // indirect
go.uber.org/automaxprocs v1.5.2 // indirect go.uber.org/automaxprocs v1.5.3 // indirect
go.uber.org/multierr v1.9.0 // indirect go.uber.org/multierr v1.9.0 // indirect
go.uber.org/zap v1.24.0 // indirect go.uber.org/zap v1.24.0 // indirect
golang.org/x/mod v0.9.0 // indirect golang.org/x/mod v0.9.0 // indirect
golang.org/x/net v0.12.0 // indirect golang.org/x/net v0.14.0 // indirect
golang.org/x/oauth2 v0.7.0 // indirect golang.org/x/oauth2 v0.8.0 // indirect
golang.org/x/sync v0.2.0 // indirect golang.org/x/sync v0.2.0 // indirect
golang.org/x/sys v0.10.0 // indirect golang.org/x/sys v0.11.0 // indirect
golang.org/x/term v0.10.0 // indirect golang.org/x/term v0.11.0 // indirect
golang.org/x/text v0.11.0 // indirect golang.org/x/text v0.12.0 // indirect
golang.org/x/time v0.3.0 // indirect golang.org/x/time v0.3.0 // indirect
golang.org/x/tools v0.7.0 // indirect golang.org/x/tools v0.7.0 // indirect
google.golang.org/appengine v1.6.7 // indirect google.golang.org/appengine v1.6.7 // indirect
@ -126,7 +127,7 @@ require (
google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/ini.v1 v1.66.2 // indirect gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect

View File

@ -7,7 +7,7 @@ NacosConfig:
- IpAddr: nacos.jcce.dev - IpAddr: nacos.jcce.dev
Port: 8848 Port: 8848
ClientConfig: ClientConfig:
NamespaceId: test NamespaceId: zhouqj
TimeoutMs: 5000 TimeoutMs: 5000
NotLoadCacheAtStart: true NotLoadCacheAtStart: true
LogDir: LogDir: