容器接口更新 #529
|
@ -2,6 +2,7 @@ package cloud
|
|||
|
||||
import (
|
||||
"gitlink.org.cn/JointCloud/pcm-coordinator/internal/logic/cloud"
|
||||
"gitlink.org.cn/JointCloud/pcm-coordinator/pkg/models"
|
||||
"gitlink.org.cn/JointCloud/pcm-coordinator/pkg/repository/result"
|
||||
"io"
|
||||
"k8s.io/apimachinery/pkg/util/json"
|
||||
|
@ -24,7 +25,11 @@ func ContainerCreateHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
|||
result.ParamErrorResult(r, w, err)
|
||||
return
|
||||
}
|
||||
|
||||
// 获取用户信息
|
||||
userStr := r.Header.Get("User")
|
||||
user := &models.JccUserInfo{}
|
||||
json.Unmarshal([]byte(userStr), user)
|
||||
req.UserId = user.Id
|
||||
l := cloud.NewContainerCreateLogic(r.Context(), svcCtx)
|
||||
resp, err := l.ContainerCreate(&req)
|
||||
result.HttpResult(r, w, resp, err)
|
||||
|
|
|
@ -37,11 +37,11 @@ func (l *UpdateClusterLogic) UpdateCluster(req *types.ClusterCreateReq) (resp *t
|
|||
}
|
||||
utils.Convert(req, &cluster)
|
||||
// 获取集群经纬度
|
||||
location, err := GeoMap(req.RegionName)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
cluster.Location = location
|
||||
//location, err := GeoMap(req.RegionName)
|
||||
//if err != nil {
|
||||
// return nil, err
|
||||
//}
|
||||
//cluster.Location = location
|
||||
l.svcCtx.DbEngin.Table("t_cluster").Model(&cluster).Updates(&cluster)
|
||||
// 更新资源价格表
|
||||
clusterId, err := strconv.ParseInt(req.Id, 10, 64)
|
||||
|
|
|
@ -60,7 +60,7 @@ func (l *CommitGeneralTaskLogic) CommitGeneralTask(req *types.GeneralTaskReq) (r
|
|||
logx.Info("commit success")
|
||||
}
|
||||
}()
|
||||
adapterId, _ := strconv.ParseUint(req.AdapterIds[0], 10, 64)
|
||||
adapterId, _ := strconv.ParseInt(req.AdapterIds[0], 10, 64)
|
||||
var clusters []*models.CloudModel
|
||||
err = tx.Raw("SELECT * FROM `t_cluster` where adapter_id in ? and id in ?", req.AdapterIds, req.ClusterIds).Scan(&clusters).Error
|
||||
if err != nil {
|
||||
|
@ -111,11 +111,11 @@ func (l *CommitGeneralTaskLogic) CommitGeneralTask(req *types.GeneralTaskReq) (r
|
|||
for _, s := range req.ReqBody {
|
||||
sStruct := UnMarshalK8sStruct(s, int64(r.Replica))
|
||||
unString, _ := sStruct.MarshalJSON()
|
||||
taskCloud.Id = utils.GenSnowflakeIDUint()
|
||||
taskCloud.Id = utils.GenSnowflakeID()
|
||||
taskCloud.Name = sStruct.GetName() + "-" + sStruct.GetKind()
|
||||
taskCloud.TaskId = uint(taskModel.Id)
|
||||
taskCloud.TaskId = taskModel.Id
|
||||
clusterId, _ := strconv.ParseUint(r.ClusterId, 10, 64)
|
||||
taskCloud.AdapterId = uint(adapterId)
|
||||
taskCloud.AdapterId = adapterId
|
||||
taskCloud.AdapterName = adapterName
|
||||
taskCloud.UserId = req.UserId
|
||||
taskCloud.ClusterId = uint(clusterId)
|
||||
|
|
|
@ -21,7 +21,12 @@ import (
|
|||
"gitlink.org.cn/JointCloud/pcm-coordinator/internal/participant/cloud"
|
||||
"gitlink.org.cn/JointCloud/pcm-coordinator/internal/svc"
|
||||
container "gitlink.org.cn/JointCloud/pcm-coordinator/internal/types/cloud"
|
||||
"gitlink.org.cn/JointCloud/pcm-coordinator/pkg/constants"
|
||||
"gitlink.org.cn/JointCloud/pcm-coordinator/pkg/models"
|
||||
cloud2 "gitlink.org.cn/JointCloud/pcm-coordinator/pkg/models/cloud"
|
||||
"gitlink.org.cn/JointCloud/pcm-coordinator/pkg/utils"
|
||||
"net/http"
|
||||
"time"
|
||||
)
|
||||
|
||||
type ContainerCreateLogic struct {
|
||||
|
@ -39,8 +44,10 @@ func NewContainerCreateLogic(ctx context.Context, svcCtx *svc.ServiceContext) *C
|
|||
}
|
||||
|
||||
func (l *ContainerCreateLogic) ContainerCreate(req *container.CreateParam) (resp interface{}, err error) {
|
||||
|
||||
param := &cloud.CreateParam{
|
||||
Name: req.Name,
|
||||
Description: req.Description,
|
||||
Port: req.Port,
|
||||
Cpu: req.Cpu,
|
||||
Memory: req.Memory,
|
||||
|
@ -59,6 +66,38 @@ func (l *ContainerCreateLogic) ContainerCreate(req *container.CreateParam) (resp
|
|||
if create.Code != http.StatusOK {
|
||||
return nil, errors.New(create.Message)
|
||||
}
|
||||
resp = create.Data
|
||||
// 构建主任务结构体
|
||||
taskModel := models.Task{
|
||||
Id: utils.GenSnowflakeID(),
|
||||
Status: constants.Saved,
|
||||
Description: req.Description,
|
||||
Name: req.Name,
|
||||
UserId: req.UserId,
|
||||
AdapterTypeDict: "0",
|
||||
CommitTime: time.Now(),
|
||||
}
|
||||
// 保存任务数据到数据库
|
||||
tx := l.svcCtx.DbEngin.Create(&taskModel)
|
||||
if tx.Error != nil {
|
||||
|
||||
}
|
||||
var adapterId int64
|
||||
tx.Table("t_cluster").Select("adapter_id").Where("id=?", req.ClusterId).Find(&adapterId)
|
||||
// 构建cloud任务结构体
|
||||
cloudTaskModel := cloud2.TaskCloudModel{
|
||||
Id: utils.GenSnowflakeID(),
|
||||
TaskId: taskModel.Id,
|
||||
Name: req.Name,
|
||||
AdapterId: adapterId,
|
||||
Status: constants.Saved,
|
||||
Namespace: "default",
|
||||
UserId: req.UserId,
|
||||
}
|
||||
// 保存任务数据到数据库
|
||||
tx = l.svcCtx.DbEngin.Create(&cloudTaskModel)
|
||||
if tx.Error != nil {
|
||||
|
||||
}
|
||||
resp = taskModel.Id
|
||||
return
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ type Resp struct {
|
|||
|
||||
type CreateParam struct {
|
||||
ContainerGroupName string `json:"containerGroupName"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Name string `json:"name"`
|
||||
Image string `json:"image"`
|
||||
Cpu string `json:"cpu,omitempty"`
|
||||
|
|
|
@ -59,8 +59,8 @@ func NewCloudScheduler(ctx context.Context, val string, scheduler *scheduler.Sch
|
|||
|
||||
func (as *CloudScheduler) GetNewStructForDb(task *response.TaskInfo, resource string, participantId int64) (interface{}, error) {
|
||||
c := cloud.TaskCloudModel{
|
||||
AdapterId: uint(participantId),
|
||||
TaskId: uint(task.TaskId),
|
||||
AdapterId: (participantId),
|
||||
TaskId: (task.TaskId),
|
||||
Status: constants.Saved,
|
||||
YamlString: as.yamlString,
|
||||
}
|
||||
|
|
|
@ -12,6 +12,8 @@ type ContainerDeleteParameter interface {
|
|||
type CreateParam struct {
|
||||
ClusterId string `json:"clusterId,omitempty"`
|
||||
ContainerGroupName string `json:"containerGroupName"`
|
||||
Description string `json:"description,omitempty"`
|
||||
UserId int64 `json:"userId"`
|
||||
Name string `json:"name"`
|
||||
Image string `json:"image"`
|
||||
Cpu string `json:"cpu,omitempty"`
|
||||
|
@ -61,6 +63,7 @@ type EciDeleteParam struct {
|
|||
|
||||
// 获取容器信息
|
||||
type GetParam struct {
|
||||
TaskId string `json:"taskId"`
|
||||
ClusterId string `json:"clusterId,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
GetParameter ContainerGetParameter `json:"getParameter,omitempty"`
|
||||
|
|
|
@ -6,10 +6,10 @@ import (
|
|||
)
|
||||
|
||||
type TaskCloudModel struct {
|
||||
Id uint `json:"id" gorm:"primarykey;not null;comment:id"`
|
||||
Id int64 `json:"id" gorm:"primarykey;not null;comment:id"`
|
||||
Name string `json:"name" gorm:"null;comment:名称"`
|
||||
TaskId uint `json:"taskId" gorm:"not null;comment:task表id"`
|
||||
AdapterId uint `json:"adapterId" gorm:"not null;comment:适配器id"`
|
||||
TaskId int64 `json:"taskId" gorm:"not null;comment:task表id"`
|
||||
AdapterId int64 `json:"adapterId" gorm:"not null;comment:适配器id"`
|
||||
AdapterName string `json:"adapterName" gorm:"not null;comment:适配器名称"`
|
||||
ClusterId uint `json:"clusterId" gorm:"not null;comment:集群id"`
|
||||
ClusterName string `json:"clusterName" gorm:"not null;comment:集群名称"`
|
||||
|
|
Loading…
Reference in New Issue