Browse Source

Merge branch 'master' of https://gitlink.org.cn/cloudream/common into feature_sjc

pull/19/head
songjc 2 years ago
parent
commit
bbdeecf99c
5 changed files with 61 additions and 16 deletions
  1. +6
    -4
      api/scheduler/jobset.go
  2. +1
    -1
      api/scheduler/scheduler_test.go
  3. +6
    -5
      api/storage/package.go
  4. +8
    -6
      api/storage/storage_test.go
  5. +40
    -0
      models/scheduler.go

+ 6
- 4
api/scheduler/jobset.go View File

@@ -16,7 +16,8 @@ type JobSetSumbitReq struct {
}

type JobSetSumbitResp struct {
JobSetID string `json:"jobSetID"`
JobSetID string `json:"jobSetID"`
FilesUploadScheme models.JobSetFilesUploadScheme `json:"filesUploadScheme"`
}

func (c *Client) JobSetSumbit(req JobSetSumbitReq) (*JobSetSumbitResp, error) {
@@ -49,14 +50,15 @@ func (c *Client) JobSetSumbit(req JobSetSumbitReq) (*JobSetSumbitResp, error) {
return nil, fmt.Errorf("unknow response content type: %s", contType)
}

type JobSetSetLocalFileReq struct {
type JobSetLocalFileUploadedReq struct {
JobSetID string `json:"jobSetID"`
LocalPath string `json:"localPath"`
Error string `json:"error"`
PackageID int64 `json:"packageID"`
}

func (c *Client) JobSetSetLocalFile(req JobSetSetLocalFileReq) error {
url, err := url.JoinPath(c.baseURL, "/jobSet/setLocalFile")
func (c *Client) JobSetLocalFileUploaded(req JobSetLocalFileUploadedReq) error {
url, err := url.JoinPath(c.baseURL, "/jobSet/localFileUploaded")
if err != nil {
return err
}


+ 1
- 1
api/scheduler/scheduler_test.go View File

@@ -40,7 +40,7 @@ func Test_JobSet(t *testing.T) {
So(err, ShouldBeNil)
So(id.JobSetID, ShouldNotBeEmpty)

err = cli.JobSetSetLocalFile(JobSetSetLocalFileReq{
err = cli.JobSetLocalFileUploaded(JobSetLocalFileUploadedReq{
JobSetID: id.JobSetID,
LocalPath: "code",
PackageID: 1,


+ 6
- 5
api/storage/package.go View File

@@ -14,11 +14,12 @@ import (
)

type PackageUploadReq struct {
UserID int64 `json:"userID"`
BucketID int64 `json:"bucketID"`
Name string `json:"name"`
Redundancy models.TypedRedundancyInfo `json:"redundancy"`
Files PackageUploadFileIterator `json:"-"`
UserID int64 `json:"userID"`
BucketID int64 `json:"bucketID"`
Name string `json:"name"`
Redundancy models.TypedRedundancyInfo `json:"redundancy"`
NodeAffinity *int64 `json:"nodeAffinity"`
Files PackageUploadFileIterator `json:"-"`
}

type IterPackageUploadFile struct {


+ 8
- 6
api/storage/storage_test.go View File

@@ -23,7 +23,8 @@ func Test_Object(t *testing.T) {
fileData[i] = byte(i)
}

_, err := cli.PackageUpload(PackageUploadReq{
nodeAff := int64(2)
upResp, err := cli.PackageUpload(PackageUploadReq{
UserID: 0,
BucketID: 1,
Name: uuid.NewString(),
@@ -31,6 +32,7 @@ func Test_Object(t *testing.T) {
Type: models.RedundancyRep,
Info: models.NewRepRedundancyInfo(1),
},
NodeAffinity: &nodeAff,
Files: iterator.Array(
&IterPackageUploadFile{
Path: "test",
@@ -55,11 +57,11 @@ func Test_Object(t *testing.T) {
// So(downFileData, ShouldResemble, fileData)
// downFs.Close()

//err = cli.PackageDelete(PackageDeleteReq{
// UserID: 0,
// PackageID: upResp.PackageID,
//})
//So(err, ShouldBeNil)
err = cli.PackageDelete(PackageDeleteReq{
UserID: 0,
PackageID: upResp.PackageID,
})
So(err, ShouldBeNil)
})
}



models/job.go → models/scheduler.go View File

@@ -118,3 +118,43 @@ func JobSetInfoFromJSON(data []byte) (*JobSetInfo, error) {

return &ret, nil
}

const (
FileScheduleActionNo = "No"
FileScheduleActionMove = "Move"
FileScheduleActionLoad = "Load"
)

type FileScheduleScheme struct {
Action string `json:"action"`
TargetStorageID int64 `json:"targetStorageID"`
}

const (
ImageScheduleActionNo = "No"
ImageScheduleActionImport = "Import"
)

type ImageScheduleScheme struct {
Action string `json:"action"`
}

type JobScheduleScheme struct {
TargetSlwNodeID int64 `json:"targetSlwNodeID"`
Dataset FileScheduleScheme `json:"dataset"`
Code FileScheduleScheme `json:"code"`
Image ImageScheduleScheme `json:"image"`
}

type JobSetPreScheduleScheme struct {
JobSchemes map[string]JobScheduleScheme `json:"jobSchemes"` // 任务的预调度方案。Key为LocalJobIDs
}

type JobSetFilesUploadScheme struct {
LocalFileSchemes []LocalFileUploadScheme `json:"localFileUploadSchemes"`
}

type LocalFileUploadScheme struct {
LocalPath string `json:"localPath"`
UploadToStgNodeID *int64 `json:"uploadToStgNodeID"`
}

Loading…
Cancel
Save