Browse Source

调整代码结构

pull/24/head
Sydonian 2 years ago
parent
commit
397b1921b6
23 changed files with 105 additions and 110 deletions
  1. +4
    -4
      sdks/pcm/client.go
  2. +1
    -1
      sdks/pcm/config.go
  3. +9
    -8
      sdks/pcm/pcm.go
  4. +4
    -4
      sdks/scheduler/client.go
  5. +1
    -1
      sdks/scheduler/config.go
  6. +4
    -5
      sdks/scheduler/jobset.go
  7. +6
    -5
      sdks/scheduler/models.go
  8. +14
    -15
      sdks/scheduler/scheduler_test.go
  9. +1
    -1
      sdks/sdks.go
  10. +2
    -3
      sdks/storage/cache.go
  11. +4
    -4
      sdks/storage/client.go
  12. +1
    -1
      sdks/storage/config.go
  13. +1
    -1
      sdks/storage/models.go
  14. +1
    -1
      sdks/storage/object.go
  15. +8
    -9
      sdks/storage/package.go
  16. +7
    -8
      sdks/storage/storage.go
  17. +10
    -11
      sdks/storage/storage_test.go
  18. +1
    -1
      sdks/storage/utils.go
  19. +4
    -4
      sdks/unifyops/client.go
  20. +1
    -1
      sdks/unifyops/config.go
  21. +1
    -1
      sdks/unifyops/models.go
  22. +19
    -20
      sdks/unifyops/unifyops.go
  23. +1
    -1
      sdks/unifyops/unifyops_test.go

api/pcm/client.go → sdks/pcm/client.go View File

@@ -1,9 +1,9 @@
package pcm
package pcmsdk

import (
"fmt"

"gitlink.org.cn/cloudream/common/api"
"gitlink.org.cn/cloudream/common/sdks"
)

type response[T any] struct {
@@ -12,8 +12,8 @@ type response[T any] struct {
Data T `json:"data"`
}

func (r *response[T]) ToError() *api.CodeMessageError {
return &api.CodeMessageError{
func (r *response[T]) ToError() *sdks.CodeMessageError {
return &sdks.CodeMessageError{
Code: fmt.Sprintf("%d", r.Code),
Message: r.Message,
}

api/pcm/config.go → sdks/pcm/config.go View File

@@ -1,4 +1,4 @@
package pcm
package pcmsdk

type Config struct {
URL string `json:"url"`

api/pcm/pcm.go → sdks/pcm/pcm.go View File

@@ -1,11 +1,12 @@
package pcm
package pcmsdk

import (
"fmt"
"net/url"
"strings"

"gitlink.org.cn/cloudream/common/models"
schsdk "gitlink.org.cn/cloudream/common/sdks/scheduler"
uopsdk "gitlink.org.cn/cloudream/common/sdks/unifyops"
myhttp "gitlink.org.cn/cloudream/common/utils/http"
"gitlink.org.cn/cloudream/common/utils/serder"
)
@@ -13,13 +14,13 @@ import (
const CORRECT_CODE int = 200

type UploadImageReq struct {
SlwNodeID models.SlwNodeID `json:"slwNodeID"`
SlwNodeID uopsdk.SlwNodeID `json:"slwNodeID"`
ImagePath string `json:"imagePath"`
}

type UploadImageResp struct {
Result string `json:"result"`
ImageID models.SlwNodeImageID `json:"imageID"`
ImageID uopsdk.SlwNodeImageID `json:"imageID"`
}

func (c *Client) UploadImage(req UploadImageReq) (*UploadImageResp, error) {
@@ -130,9 +131,9 @@ func (c *Client) DeleteImage(req DeleteImageReq) (*DeleteImageResp, error) {
}

type ScheduleTaskReq struct {
SlwNodeID models.SlwNodeID `json:"slwNodeID"`
Envs []models.EnvVar `json:"envs"`
ImageID models.SlwNodeImageID `json:"imageID"`
SlwNodeID uopsdk.SlwNodeID `json:"slwNodeID"`
Envs []schsdk.EnvVar `json:"envs"`
ImageID uopsdk.SlwNodeImageID `json:"imageID"`
CMDLine string `json:"cmdLine"`
}

@@ -172,7 +173,7 @@ func (c *Client) ScheduleTask(req ScheduleTaskReq) (*ScheduleTaskResp, error) {
}

type GetTaskStatusReq struct {
SlwNodeID models.SlwNodeID `json:"slwNodeID"`
SlwNodeID uopsdk.SlwNodeID `json:"slwNodeID"`
PCMJobID int64 `json:"pcmJobID"`
}


api/scheduler/client.go → sdks/scheduler/client.go View File

@@ -1,6 +1,6 @@
package scheduler
package schsdk

import "gitlink.org.cn/cloudream/common/api"
import "gitlink.org.cn/cloudream/common/sdks"

type response[T any] struct {
Code string `json:"code"`
@@ -8,8 +8,8 @@ type response[T any] struct {
Data T `json:"data"`
}

func (r *response[T]) ToError() *api.CodeMessageError {
return &api.CodeMessageError{
func (r *response[T]) ToError() *sdks.CodeMessageError {
return &sdks.CodeMessageError{
Code: r.Code,
Message: r.Message,
}

api/storage/config.go → sdks/scheduler/config.go View File

@@ -1,4 +1,4 @@
package storage
package schsdk

type Config struct {
URL string `json:"url"`

api/scheduler/jobset.go → sdks/scheduler/jobset.go View File

@@ -1,4 +1,4 @@
package scheduler
package schsdk

import (
"fmt"
@@ -6,18 +6,17 @@ import (
"strings"

"gitlink.org.cn/cloudream/common/consts/errorcode"
"gitlink.org.cn/cloudream/common/models"
myhttp "gitlink.org.cn/cloudream/common/utils/http"
"gitlink.org.cn/cloudream/common/utils/serder"
)

type JobSetSumbitReq struct {
models.JobSetInfo
JobSetInfo
}

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

func (c *Client) JobSetSumbit(req JobSetSumbitReq) (*JobSetSumbitResp, error) {

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

@@ -1,7 +1,8 @@
package models
package schsdk

import (
"gitlink.org.cn/cloudream/common/pkgs/types"
stgsdk "gitlink.org.cn/cloudream/common/sdks/storage"
myreflect "gitlink.org.cn/cloudream/common/utils/reflect"
"gitlink.org.cn/cloudream/common/utils/serder"
)
@@ -52,10 +53,10 @@ type NormalJobInfo struct {

type ResourceJobInfo struct {
JobInfoBase
Type string `json:"type" union:"Resource"`
BucketID int64 `json:"bucketID"`
Redundancy TypedRedundancyInfo `json:"redundancy"`
TargetLocalJobID string `json:"targetLocalJobID"`
Type string `json:"type" union:"Resource"`
BucketID int64 `json:"bucketID"`
Redundancy stgsdk.TypedRedundancyInfo `json:"redundancy"`
TargetLocalJobID string `json:"targetLocalJobID"`
}

type JobFilesInfo struct {

api/scheduler/scheduler_test.go → sdks/scheduler/scheduler_test.go View File

@@ -1,10 +1,9 @@
package scheduler
package schsdk

import (
"testing"

. "github.com/smartystreets/goconvey/convey"
"gitlink.org.cn/cloudream/common/models"
)

func Test_JobSet(t *testing.T) {
@@ -14,23 +13,23 @@ func Test_JobSet(t *testing.T) {
})

id, err := cli.JobSetSumbit(JobSetSumbitReq{
JobSetInfo: models.JobSetInfo{
Jobs: []models.JobInfo{
&models.ResourceJobInfo{
Type: models.JobTypeResource,
JobSetInfo: JobSetInfo{
Jobs: []JobInfo{
&ResourceJobInfo{
Type: JobTypeResource,
},
&models.NormalJobInfo{
Type: models.JobTypeNormal,
Files: models.JobFilesInfo{
Dataset: &models.PackageJobFileInfo{
Type: models.FileInfoTypePackage,
&NormalJobInfo{
Type: JobTypeNormal,
Files: JobFilesInfo{
Dataset: &PackageJobFileInfo{
Type: FileInfoTypePackage,
},
Code: &models.LocalJobFileInfo{
Type: models.FileInfoTypeLocalFile,
Code: &LocalJobFileInfo{
Type: FileInfoTypeLocalFile,
LocalPath: "code",
},
Image: &models.ImageJobFileInfo{
Type: models.FileInfoTypeImage,
Image: &ImageJobFileInfo{
Type: FileInfoTypeImage,
},
},
},

api/api.go → sdks/sdks.go View File

@@ -1,4 +1,4 @@
package api
package sdks

import "fmt"


api/storage/cache.go → sdks/storage/cache.go View File

@@ -1,4 +1,4 @@
package storage
package stgsdk

import (
"fmt"
@@ -6,7 +6,6 @@ import (
"strings"

"gitlink.org.cn/cloudream/common/consts/errorcode"
"gitlink.org.cn/cloudream/common/models"
myhttp "gitlink.org.cn/cloudream/common/utils/http"
"gitlink.org.cn/cloudream/common/utils/serder"
)
@@ -17,7 +16,7 @@ type CacheMovePackageReq struct {
NodeID int64 `json:"nodeID"`
}
type CacheMovePackageResp struct {
CacheInfos []models.ObjectCacheInfo `json:"cacheInfos"`
CacheInfos []ObjectCacheInfo `json:"cacheInfos"`
}

func (c *Client) CacheMovePackage(req CacheMovePackageReq) (*CacheMovePackageResp, error) {

api/storage/client.go → sdks/storage/client.go View File

@@ -1,6 +1,6 @@
package storage
package stgsdk

import "gitlink.org.cn/cloudream/common/api"
import "gitlink.org.cn/cloudream/common/sdks"

type response[T any] struct {
Code string `json:"code"`
@@ -8,8 +8,8 @@ type response[T any] struct {
Data T `json:"data"`
}

func (r *response[T]) ToError() *api.CodeMessageError {
return &api.CodeMessageError{
func (r *response[T]) ToError() *sdks.CodeMessageError {
return &sdks.CodeMessageError{
Code: r.Code,
Message: r.Message,
}

api/unifyops/config.go → sdks/storage/config.go View File

@@ -1,4 +1,4 @@
package unifyops
package stgsdk

type Config struct {
URL string `json:"url"`

models/storage.go → sdks/storage/models.go View File

@@ -1,4 +1,4 @@
package models
package stgsdk

import (
"fmt"

api/storage/object.go → sdks/storage/object.go View File

@@ -1,4 +1,4 @@
package storage
package stgsdk

import (
"fmt"

api/storage/package.go → sdks/storage/package.go View File

@@ -1,4 +1,4 @@
package storage
package stgsdk

import (
"fmt"
@@ -7,19 +7,18 @@ import (
"strings"

"gitlink.org.cn/cloudream/common/consts/errorcode"
"gitlink.org.cn/cloudream/common/models"
"gitlink.org.cn/cloudream/common/pkgs/iterator"
myhttp "gitlink.org.cn/cloudream/common/utils/http"
"gitlink.org.cn/cloudream/common/utils/serder"
)

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

type IterPackageUploadFile struct {
@@ -118,7 +117,7 @@ type PackageGetCachedNodesReq struct {
}

type PackageGetCachedNodesResp struct {
models.PackageCachingInfo
PackageCachingInfo
}

func (c *Client) PackageGetCachedNodes(req PackageGetCachedNodesReq) (*PackageGetCachedNodesResp, error) {

api/storage/storage.go → sdks/storage/storage.go View File

@@ -1,4 +1,4 @@
package storage
package stgsdk

import (
"fmt"
@@ -6,7 +6,6 @@ import (
"strings"

"gitlink.org.cn/cloudream/common/consts/errorcode"
"gitlink.org.cn/cloudream/common/models"
myhttp "gitlink.org.cn/cloudream/common/utils/http"
"gitlink.org.cn/cloudream/common/utils/serder"
)
@@ -48,12 +47,12 @@ func (c *Client) StorageLoadPackage(req StorageLoadPackageReq) error {
}

type StorageCreatePackageReq struct {
UserID int64 `json:"userID"`
StorageID int64 `json:"storageID"`
Path string `json:"path"`
BucketID int64 `json:"bucketID"`
Name string `json:"name"`
Redundancy models.TypedRedundancyInfo `json:"redundancy"`
UserID int64 `json:"userID"`
StorageID int64 `json:"storageID"`
Path string `json:"path"`
BucketID int64 `json:"bucketID"`
Name string `json:"name"`
Redundancy TypedRedundancyInfo `json:"redundancy"`
}

type StorageCreatePackageResp struct {

api/storage/storage_test.go → sdks/storage/storage_test.go View File

@@ -1,4 +1,4 @@
package storage
package stgsdk

import (
"bytes"
@@ -8,7 +8,6 @@ import (

"github.com/google/uuid"
. "github.com/smartystreets/goconvey/convey"
"gitlink.org.cn/cloudream/common/models"
"gitlink.org.cn/cloudream/common/pkgs/iterator"
)

@@ -28,9 +27,9 @@ func Test_Object(t *testing.T) {
UserID: 0,
BucketID: 1,
Name: uuid.NewString(),
Redundancy: models.TypedRedundancyInfo{
Type: models.RedundancyRep,
Info: models.NewRepRedundancyInfo(1),
Redundancy: TypedRedundancyInfo{
Type: RedundancyRep,
Info: NewRepRedundancyInfo(1),
},
NodeAffinity: &nodeAff,
Files: iterator.Array(
@@ -80,9 +79,9 @@ func Test_Storage(t *testing.T) {
UserID: 0,
BucketID: 1,
Name: uuid.NewString(),
Redundancy: models.TypedRedundancyInfo{
Type: models.RedundancyRep,
Info: models.NewRepRedundancyInfo(1),
Redundancy: TypedRedundancyInfo{
Type: RedundancyRep,
Info: NewRepRedundancyInfo(1),
},
Files: iterator.Array(
&IterPackageUploadFile{
@@ -127,9 +126,9 @@ func Test_Cache(t *testing.T) {
UserID: 0,
BucketID: 1,
Name: uuid.NewString(),
Redundancy: models.TypedRedundancyInfo{
Type: models.RedundancyRep,
Info: models.NewRepRedundancyInfo(1),
Redundancy: TypedRedundancyInfo{
Type: RedundancyRep,
Info: NewRepRedundancyInfo(1),
},
Files: iterator.Array(
&IterPackageUploadFile{

+ 1
- 1
sdks/storage/utils.go View File

@@ -1,4 +1,4 @@
package storage
package stgsdk

import "path/filepath"



api/unifyops/client.go → sdks/unifyops/client.go View File

@@ -1,9 +1,9 @@
package unifyops
package uopsdk

import (
"fmt"

"gitlink.org.cn/cloudream/common/api"
"gitlink.org.cn/cloudream/common/sdks"
)

type response[T any] struct {
@@ -12,8 +12,8 @@ type response[T any] struct {
Data T `json:"data"`
}

func (r *response[T]) ToError() *api.CodeMessageError {
return &api.CodeMessageError{
func (r *response[T]) ToError() *sdks.CodeMessageError {
return &sdks.CodeMessageError{
Code: fmt.Sprintf("%d", r.Code),
Message: r.Message,
}

api/scheduler/config.go → sdks/unifyops/config.go View File

@@ -1,4 +1,4 @@
package scheduler
package uopsdk

type Config struct {
URL string `json:"url"`

models/unifyops.go → sdks/unifyops/models.go View File

@@ -1,4 +1,4 @@
package models
package uopsdk

import (
"gitlink.org.cn/cloudream/common/pkgs/types"

api/unifyops/unifyops.go → sdks/unifyops/unifyops.go View File

@@ -1,11 +1,10 @@
package unifyops
package uopsdk

import (
"fmt"
"net/url"
"strings"

"gitlink.org.cn/cloudream/common/models"
myhttp "gitlink.org.cn/cloudream/common/utils/http"
"gitlink.org.cn/cloudream/common/utils/serder"
)
@@ -13,7 +12,7 @@ import (
const CORRECT_CODE int = 200

type GetAllSlwNodeInfoResp struct {
Nodes []models.SlwNode `json:"nodes"`
Nodes []SlwNode `json:"nodes"`
}

func (c *Client) GetAllSlwNodeInfo() (*GetAllSlwNodeInfoResp, error) {
@@ -44,10 +43,10 @@ func (c *Client) GetAllSlwNodeInfo() (*GetAllSlwNodeInfoResp, error) {
}

type GetOneResourceDataReq struct {
SlwNodeID models.SlwNodeID `json:"nodeId"`
SlwNodeID SlwNodeID `json:"nodeId"`
}

func (c *Client) GetCPUData(node GetOneResourceDataReq) (*models.CPUResourceData, error) {
func (c *Client) GetCPUData(node GetOneResourceDataReq) (*CPUResourceData, error) {
url, err := url.JoinPath(c.baseURL, "/cmdb/resApi/getCPUData")
if err != nil {
return nil, err
@@ -62,7 +61,7 @@ func (c *Client) GetCPUData(node GetOneResourceDataReq) (*models.CPUResourceData
contType := resp.Header.Get("Content-Type")
if strings.Contains(contType, myhttp.ContentTypeJSON) {

var codeResp response[models.CPUResourceData]
var codeResp response[CPUResourceData]
if err := serder.JSONToObjectStream(resp.Body, &codeResp); err != nil {
return nil, fmt.Errorf("parsing response: %w", err)
}
@@ -77,7 +76,7 @@ func (c *Client) GetCPUData(node GetOneResourceDataReq) (*models.CPUResourceData
return nil, fmt.Errorf("unknow response content type: %s", contType)
}

func (c *Client) GetNPUData(node GetOneResourceDataReq) (*models.NPUResourceData, error) {
func (c *Client) GetNPUData(node GetOneResourceDataReq) (*NPUResourceData, error) {
url, err := url.JoinPath(c.baseURL, "/cmdb/resApi/getNPUData")
if err != nil {
return nil, err
@@ -92,7 +91,7 @@ func (c *Client) GetNPUData(node GetOneResourceDataReq) (*models.NPUResourceData
contType := resp.Header.Get("Content-Type")
if strings.Contains(contType, myhttp.ContentTypeJSON) {

var codeResp response[models.NPUResourceData]
var codeResp response[NPUResourceData]
if err := serder.JSONToObjectStream(resp.Body, &codeResp); err != nil {
return nil, fmt.Errorf("parsing response: %w", err)
}
@@ -107,7 +106,7 @@ func (c *Client) GetNPUData(node GetOneResourceDataReq) (*models.NPUResourceData
return nil, fmt.Errorf("unknow response content type: %s", contType)
}

func (c *Client) GetGPUData(node GetOneResourceDataReq) (*models.GPUResourceData, error) {
func (c *Client) GetGPUData(node GetOneResourceDataReq) (*GPUResourceData, error) {
url, err := url.JoinPath(c.baseURL, "/cmdb/resApi/getGPUData")
if err != nil {
return nil, err
@@ -122,7 +121,7 @@ func (c *Client) GetGPUData(node GetOneResourceDataReq) (*models.GPUResourceData
contType := resp.Header.Get("Content-Type")
if strings.Contains(contType, myhttp.ContentTypeJSON) {

var codeResp response[models.GPUResourceData]
var codeResp response[GPUResourceData]
if err := serder.JSONToObjectStream(resp.Body, &codeResp); err != nil {
return nil, fmt.Errorf("parsing response: %w", err)
}
@@ -137,7 +136,7 @@ func (c *Client) GetGPUData(node GetOneResourceDataReq) (*models.GPUResourceData
return nil, fmt.Errorf("unknow response content type: %s", contType)
}

func (c *Client) GetMLUData(node GetOneResourceDataReq) (*models.MLUResourceData, error) {
func (c *Client) GetMLUData(node GetOneResourceDataReq) (*MLUResourceData, error) {
url, err := url.JoinPath(c.baseURL, "/cmdb/resApi/getMLUData")
if err != nil {
return nil, err
@@ -152,7 +151,7 @@ func (c *Client) GetMLUData(node GetOneResourceDataReq) (*models.MLUResourceData
contType := resp.Header.Get("Content-Type")
if strings.Contains(contType, myhttp.ContentTypeJSON) {

var codeResp response[models.MLUResourceData]
var codeResp response[MLUResourceData]
if err := serder.JSONToObjectStream(resp.Body, &codeResp); err != nil {
return nil, fmt.Errorf("parsing response: %w", err)
}
@@ -167,7 +166,7 @@ func (c *Client) GetMLUData(node GetOneResourceDataReq) (*models.MLUResourceData
return nil, fmt.Errorf("unknow response content type: %s", contType)
}

func (c *Client) GetStorageData(node GetOneResourceDataReq) (*models.StorageResourceData, error) {
func (c *Client) GetStorageData(node GetOneResourceDataReq) (*StorageResourceData, error) {
url, err := url.JoinPath(c.baseURL, "/cmdb/resApi/getStorageData")
if err != nil {
return nil, err
@@ -182,7 +181,7 @@ func (c *Client) GetStorageData(node GetOneResourceDataReq) (*models.StorageReso
contType := resp.Header.Get("Content-Type")
if strings.Contains(contType, myhttp.ContentTypeJSON) {

var codeResp response[models.StorageResourceData]
var codeResp response[StorageResourceData]
if err := serder.JSONToObjectStream(resp.Body, &codeResp); err != nil {
return nil, fmt.Errorf("parsing response: %w", err)
}
@@ -197,7 +196,7 @@ func (c *Client) GetStorageData(node GetOneResourceDataReq) (*models.StorageReso
return nil, fmt.Errorf("unknow response content type: %s", contType)
}

func (c *Client) GetMemoryData(node GetOneResourceDataReq) (*models.MemoryResourceData, error) {
func (c *Client) GetMemoryData(node GetOneResourceDataReq) (*MemoryResourceData, error) {
url, err := url.JoinPath(c.baseURL, "/cmdb/resApi/getMemoryData")
if err != nil {
return nil, err
@@ -212,7 +211,7 @@ func (c *Client) GetMemoryData(node GetOneResourceDataReq) (*models.MemoryResour
contType := resp.Header.Get("Content-Type")
if strings.Contains(contType, myhttp.ContentTypeJSON) {

var codeResp response[models.MemoryResourceData]
var codeResp response[MemoryResourceData]
if err := serder.JSONToObjectStream(resp.Body, &codeResp); err != nil {
return nil, fmt.Errorf("parsing response: %w", err)
}
@@ -227,7 +226,7 @@ func (c *Client) GetMemoryData(node GetOneResourceDataReq) (*models.MemoryResour
return nil, fmt.Errorf("unknow response content type: %s", contType)
}

func (c *Client) GetIndicatorData(node GetOneResourceDataReq) (*[]models.ResourceData, error) {
func (c *Client) GetIndicatorData(node GetOneResourceDataReq) (*[]ResourceData, error) {
url, err := url.JoinPath(c.baseURL, "/cmdb/resApi/getIndicatorData")
if err != nil {
return nil, err
@@ -253,12 +252,12 @@ func (c *Client) GetIndicatorData(node GetOneResourceDataReq) (*[]models.Resourc

mapToObjOpt := serder.MapToObjectOption{
UnionTypes: []serder.TaggedUnionType{
models.ResourceDataTaggedTypeUnion,
ResourceDataTaggedTypeUnion,
},
}
var ret []models.ResourceData
var ret []ResourceData
for _, mp := range codeResp.Data {
var data models.ResourceData
var data ResourceData
err := serder.MapToObject(mp, &data, mapToObjOpt)
if err != nil {
return nil, err

api/unifyops/unifyops_test.go → sdks/unifyops/unifyops_test.go View File

@@ -1,4 +1,4 @@
package unifyops
package uopsdk

import (
"fmt"

Loading…
Cancel
Save