Obtain cluster list information according to participantId
Former-commit-id: 5af0d344affc9e7e7421eae46fe60d4636487d92
This commit is contained in:
parent
cd56cd79d0
commit
356d4e6176
|
@ -7,6 +7,21 @@ info(
|
|||
email: ""
|
||||
)
|
||||
/******************find datasetList start*************************/
|
||||
type (
|
||||
getClusterListReq {
|
||||
Id int64 `form:"id"`
|
||||
}
|
||||
getClusterListResp {
|
||||
clusters []ClusterInfo `json:"clusters"`
|
||||
}
|
||||
ClusterInfo {
|
||||
Id int64 `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Address string `json:"address"`
|
||||
Token string `json:"token"`
|
||||
MetricsUrl string `json:"metricsUrl"`
|
||||
}
|
||||
)
|
||||
|
||||
type ControllerMetricsReq {
|
||||
Metrics []string `form:"metrics"`
|
||||
|
|
|
@ -174,7 +174,7 @@ type deleteTaskReq {
|
|||
Id int64 `path:"id"`
|
||||
}
|
||||
|
||||
type commitTaskReq{
|
||||
type commitTaskReq {
|
||||
Name string `json:"name"`
|
||||
NsID string `json:"nsID"`
|
||||
Replicas int64 `json:"replicas,optional"`
|
||||
|
@ -237,27 +237,27 @@ type (
|
|||
platform string `json:"platform,optional"`
|
||||
}
|
||||
ServerCommit {
|
||||
allCardRunTime string `json:"allCardRunTime"`
|
||||
flavorRef string `json:"flavorRef,optional"`
|
||||
name string `json:"name,optional"`
|
||||
imageRef string `json:"imageRef,optional"`
|
||||
accessIPv4 string `json:"accessIPv4,optional"`
|
||||
accessIPv6 string `json:"accessIPv6,optional"`
|
||||
adminPass string `json:"adminPass,optional"`
|
||||
availability_zone string `json:"availability_zone,optional"`
|
||||
key_name string `json:"key_name,optional"`
|
||||
hostname string `json:"hostname,optional"`
|
||||
host string `json:"host,optional"`
|
||||
networks []Networks `json:"networks,optional"`
|
||||
allCardRunTime string `json:"allCardRunTime"`
|
||||
flavorRef string `json:"flavorRef,optional"`
|
||||
name string `json:"name,optional"`
|
||||
imageRef string `json:"imageRef,optional"`
|
||||
accessIPv4 string `json:"accessIPv4,optional"`
|
||||
accessIPv6 string `json:"accessIPv6,optional"`
|
||||
adminPass string `json:"adminPass,optional"`
|
||||
availability_zone string `json:"availability_zone,optional"`
|
||||
key_name string `json:"key_name,optional"`
|
||||
hostname string `json:"hostname,optional"`
|
||||
host string `json:"host,optional"`
|
||||
networks []Networks `json:"networks,optional"`
|
||||
}
|
||||
Networks {
|
||||
uuid string `json:"uuid,optional"`
|
||||
port string `json:"port,optional"`
|
||||
fixed_ip string `json:"fixed_ip,optional"`
|
||||
tag string `json:"tag,optional"`
|
||||
uuid string `json:"uuid,optional"`
|
||||
port string `json:"port,optional"`
|
||||
fixed_ip string `json:"fixed_ip,optional"`
|
||||
tag string `json:"tag,optional"`
|
||||
}
|
||||
Block_device_mapping_v2Commit {
|
||||
uuid string `json:"uuid,optional"`
|
||||
uuid string `json:"uuid,optional"`
|
||||
}
|
||||
commitVmTaskResp {
|
||||
|
||||
|
|
|
@ -169,6 +169,10 @@ service pcm {
|
|||
@doc "租户更新"
|
||||
@handler updateTenantHandler
|
||||
post /cloud/updateTenant (UpdateTenantReq) returns (CloudResp)
|
||||
|
||||
@doc "Obtain cluster list information according to participantId"
|
||||
@handler getClusterListHandler
|
||||
get /core/clusterList (getClusterListReq) returns (getClusterListResp)
|
||||
}
|
||||
|
||||
//智算二级接口
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
package cloud
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/zeromicro/go-zero/rest/httpx"
|
||||
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/cloud"
|
||||
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
|
||||
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
|
||||
)
|
||||
|
||||
func GetClusterListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
var req types.GetClusterListReq
|
||||
if err := httpx.Parse(r, &req); err != nil {
|
||||
httpx.ErrorCtx(r.Context(), w, err)
|
||||
return
|
||||
}
|
||||
|
||||
l := cloud.NewGetClusterListLogic(r.Context(), svcCtx)
|
||||
resp, err := l.GetClusterList(&req)
|
||||
if err != nil {
|
||||
httpx.ErrorCtx(r.Context(), w, err)
|
||||
} else {
|
||||
httpx.OkJsonCtx(r.Context(), w, resp)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -198,6 +198,11 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
|
|||
Path: "/cloud/updateTenant",
|
||||
Handler: cloud.UpdateTenantHandler(serverCtx),
|
||||
},
|
||||
{
|
||||
Method: http.MethodGet,
|
||||
Path: "/core/clusterList",
|
||||
Handler: cloud.GetClusterListHandler(serverCtx),
|
||||
},
|
||||
},
|
||||
rest.WithPrefix("/pcm/v1"),
|
||||
)
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
package cloud
|
||||
|
||||
import (
|
||||
"context"
|
||||
"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 GetClusterListLogic struct {
|
||||
logx.Logger
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
}
|
||||
|
||||
func NewGetClusterListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetClusterListLogic {
|
||||
return &GetClusterListLogic{
|
||||
Logger: logx.WithContext(ctx),
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
}
|
||||
}
|
||||
|
||||
func (l *GetClusterListLogic) GetClusterList(req *types.GetClusterListReq) (resp *types.GetClusterListResp, err error) {
|
||||
resp = &types.GetClusterListResp{}
|
||||
//clusters := []models.ScParticipantPhyInfo{}
|
||||
l.svcCtx.DbEngin.Find(resp.Clusters).Where("id", req.Id)
|
||||
return resp, nil
|
||||
}
|
|
@ -2,13 +2,11 @@ package cloud
|
|||
|
||||
import (
|
||||
"context"
|
||||
"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-coordinator/pkg/models"
|
||||
"gitlink.org.cn/jcce-pcm/pcm-coordinator/pkg/utils"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"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"
|
||||
)
|
||||
|
@ -39,31 +37,30 @@ func (l *RegisterClusterLogic) RegisterCluster(req *types.RegisterClusterReq) (*
|
|||
return &resp, nil
|
||||
}
|
||||
|
||||
participant := models.ScParticipantPhyInfo{}
|
||||
participant.Token = req.Token
|
||||
participant.Name = req.Name
|
||||
participant.Address = req.Address
|
||||
participant.Type = "CLOUD"
|
||||
participant.Id = utils.GenSnowflakeID()
|
||||
participant.MetricsUrl = req.MetricsUrl
|
||||
participant.CreatedTime = time.Now()
|
||||
participant.UpdatedTime = time.Now()
|
||||
|
||||
labelInfo := models.ScParticipantLabelInfo{}
|
||||
labelInfo.Id = utils.GenSnowflakeID()
|
||||
labelInfo.ParticipantId = participant.Id
|
||||
labelInfo.CreatedTime = time.Now()
|
||||
labelInfo.Key = "cloud"
|
||||
labelInfo.Value = "sealos"
|
||||
|
||||
participant := models.ScParticipantPhyInfo{
|
||||
Token: req.Token,
|
||||
Name: req.Name,
|
||||
Address: req.Address,
|
||||
Type: "CLOUD",
|
||||
Id: utils.GenSnowflakeID(),
|
||||
MetricsUrl: req.MetricsUrl,
|
||||
}
|
||||
tx := l.svcCtx.DbEngin.Create(&participant)
|
||||
if tx.Error != nil {
|
||||
return nil, tx.Error
|
||||
}
|
||||
|
||||
labelInfo := models.ScParticipantLabelInfo{
|
||||
Id: utils.GenSnowflakeID(),
|
||||
ParticipantId: participant.Id,
|
||||
Key: "cloud",
|
||||
Value: "sealos",
|
||||
}
|
||||
tx2 := l.svcCtx.DbEngin.Create(&labelInfo)
|
||||
if tx2.Error != nil {
|
||||
return nil, tx.Error
|
||||
}
|
||||
|
||||
resp.Code = string(200)
|
||||
resp.Msg = "success"
|
||||
resp.Data = "participantId:" + strconv.FormatInt(participant.Id, 10)
|
||||
|
|
|
@ -3463,6 +3463,22 @@ type ShowNodeDetailsResp struct {
|
|||
ErrorMsg string `json:"errorMsg,omitempty"`
|
||||
}
|
||||
|
||||
type GetClusterListReq struct {
|
||||
Id int64 `form:"id"`
|
||||
}
|
||||
|
||||
type GetClusterListResp struct {
|
||||
Clusters []ClusterInfo `json:"clusters"`
|
||||
}
|
||||
|
||||
type ClusterInfo struct {
|
||||
Id int64 `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Address string `json:"address"`
|
||||
Token string `json:"token"`
|
||||
MetricsUrl string `json:"metricsUrl"`
|
||||
}
|
||||
|
||||
type ControllerMetricsReq struct {
|
||||
Metrics []string `form:"metrics"`
|
||||
ParticipantId int64 `form:"participantId"`
|
||||
|
|
Loading…
Reference in New Issue