forked from JointCloud/JCC-CSScheduler
暂时在选择资源ID时直接使用第一个
This commit is contained in:
parent
f9c0d22f95
commit
55f556fb8e
|
@ -6,16 +6,16 @@ use scheduler;
|
|||
|
||||
create table ComputingCenter (
|
||||
CCID int not null auto_increment primary key comment '计算中心名称',
|
||||
UOPSlwNodeID int not null comment '计算中心在运控系统的ID',
|
||||
PCMParticipantID int not null comment '计算中心在PCM系统的ID',
|
||||
CDSNodeID int not null comment '计算中心在存储系统的ID',
|
||||
CDSStorageID int not null comment '此算力中心的存储服务对应在存储系统中的ID',
|
||||
UOPSlwNodeID bigint not null comment '计算中心在运控系统的ID',
|
||||
PCMParticipantID bigint not null comment '计算中心在PCM系统的ID',
|
||||
CDSNodeID bigint null comment '计算中心在存储系统的ID',
|
||||
CDSStorageID bigint null comment '此算力中心的存储服务对应在存储系统中的ID',
|
||||
Name varchar(100) not null comment '计算中心名称'
|
||||
) comment = '计算中心';
|
||||
|
||||
create table Image (
|
||||
ImageID int not null auto_increment primary key comment '调度系统内的镜像ID',
|
||||
CDSStorageID int comment '镜像文件对应的存储系统PackageID',
|
||||
CDSPackageID bigint comment '镜像文件对应的存储系统PackageID',
|
||||
Name varchar(200) not null comment '镜像名称,在调度系统上设置的',
|
||||
CreateTime timestamp not null comment '镜像创建时间'
|
||||
) comment = "镜像";
|
||||
|
|
|
@ -1,11 +1,14 @@
|
|||
package schmod
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
pcmsdk "gitlink.org.cn/cloudream/common/sdks/pcm"
|
||||
schsdk "gitlink.org.cn/cloudream/common/sdks/scheduler"
|
||||
uopsdk "gitlink.org.cn/cloudream/common/sdks/unifyops"
|
||||
myreflect "gitlink.org.cn/cloudream/common/utils/reflect"
|
||||
"gitlink.org.cn/cloudream/common/utils/serder"
|
||||
)
|
||||
|
||||
type ExecutorID string
|
||||
|
@ -70,3 +73,12 @@ type CCResourceInfo struct {
|
|||
Storage int64 `json:"storage"`
|
||||
Memory int64 `json:"memory"`
|
||||
}
|
||||
|
||||
func (i *CCResourceInfo) Scan(src interface{}) error {
|
||||
data, ok := src.([]uint8)
|
||||
if !ok {
|
||||
return fmt.Errorf("unknow src type: %v", myreflect.TypeOfValue(data).String())
|
||||
}
|
||||
|
||||
return serder.JSONToObject(data, i)
|
||||
}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package db
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/jmoiron/sqlx"
|
||||
|
@ -26,13 +25,13 @@ func (*ImageDB) GetByID(ctx SQLContext, id schsdk.ImageID) (schmod.Image, error)
|
|||
func (*ImageDB) Create(ctx SQLContext, cdsPackageID *int64, name string, createTime time.Time) (schsdk.ImageID, error) {
|
||||
ret, err := ctx.Exec("insert into Image(CDSPackageID, Name, CreateTime) values(?, ?, ?)", cdsPackageID, name, createTime)
|
||||
if err != nil {
|
||||
return "", err
|
||||
return 0, err
|
||||
}
|
||||
|
||||
id, err := ret.LastInsertId()
|
||||
if err != nil {
|
||||
return "", err
|
||||
return 0, err
|
||||
}
|
||||
|
||||
return schsdk.ImageID(fmt.Sprintf("%d", id)), nil
|
||||
return schsdk.ImageID(id), nil
|
||||
}
|
||||
|
|
|
@ -83,13 +83,22 @@ func (h *ExecutingHandler) onNormalJobEvent(evt event.Event, job *executingJob,
|
|||
}
|
||||
|
||||
// TODO 需要添加DATA_IN、DATA_OUT等环境变量,这些数据从Job的信息中来获取
|
||||
ress, err := h.mgr.db.CCResource().GetByCCID(h.mgr.db.SQLCtx(), norJob.TargetCCID)
|
||||
if err != nil {
|
||||
h.changeJobState(job.job, jobmod.NewStateFailed(fmt.Sprintf("getting computing center resource info: %s", err.Error()), job.state))
|
||||
return
|
||||
}
|
||||
if len(ress) == 0 {
|
||||
h.changeJobState(job.job, jobmod.NewStateFailed(fmt.Sprintf("there is no resource at computing center %v", norJob.TargetCCID), job.state))
|
||||
return
|
||||
}
|
||||
|
||||
fullTaskID, err := h.mgr.execMgr.StartTask(job.job.GetJobID(),
|
||||
exetsk.NewSubmitTask(
|
||||
ccInfo.PCMParticipantID,
|
||||
pcmImgInfo.PCMImageID,
|
||||
// TODO 资源ID
|
||||
"6388d3c27f654fa5b11439a3d6098dbc",
|
||||
// TODO 选择资源的算法
|
||||
ress[0].PCMResourceID,
|
||||
norJob.Info.Runtime.Command,
|
||||
norJob.Info.Runtime.Envs,
|
||||
))
|
||||
|
|
Loading…
Reference in New Issue