diff --git a/pkg/scheduler/aiScheduler.go b/pkg/scheduler/aiScheduler.go index 1f4f5442..cbec54f2 100644 --- a/pkg/scheduler/aiScheduler.go +++ b/pkg/scheduler/aiScheduler.go @@ -52,7 +52,3 @@ func (as *AiScheduler) pickOptimalStrategy() (strategies.Strategy, error) { func (as *AiScheduler) genTaskAndProviders() (*providerPricing.Task, []*providerPricing.Provider) { return nil, nil } - -func (as *AiScheduler) assignTask() error { - return nil -} diff --git a/pkg/scheduler/cloudScheduler.go b/pkg/scheduler/cloudScheduler.go index 7384d269..37bd9ca6 100644 --- a/pkg/scheduler/cloudScheduler.go +++ b/pkg/scheduler/cloudScheduler.go @@ -116,7 +116,3 @@ func (cs *CloudScheduler) genTaskAndProviders() (*providerPricing.Task, []*provi return nil, providerList, nil } - -func (cs *CloudScheduler) assignTask() error { - return nil -} diff --git a/pkg/scheduler/common.go b/pkg/scheduler/common.go index 8d838c43..62270a92 100644 --- a/pkg/scheduler/common.go +++ b/pkg/scheduler/common.go @@ -24,7 +24,6 @@ import ( type scheduleService interface { getNewStructForDb(task *response.TaskInfo, resource string, participantId int64) (interface{}, error) pickOptimalStrategy() (strategies.Strategy, error) - assignTask() error } // 求交集 diff --git a/pkg/scheduler/database/storage.go b/pkg/scheduler/database/storage.go index 44887345..7c293d77 100644 --- a/pkg/scheduler/database/storage.go +++ b/pkg/scheduler/database/storage.go @@ -2,4 +2,10 @@ package database type Storage interface { GetProviderParams() ([]providerParams, error) + FindAvailableCluster() +} + +type NSIDSpecified interface { + Storage + NSID() error } diff --git a/pkg/scheduler/hpcScheduler.go b/pkg/scheduler/hpcScheduler.go index e1b4018f..bf964bb7 100644 --- a/pkg/scheduler/hpcScheduler.go +++ b/pkg/scheduler/hpcScheduler.go @@ -49,7 +49,3 @@ func (h *HpcScheduler) pickOptimalStrategy() (strategies.Strategy, error) { func (h *HpcScheduler) genTaskAndProviders(task *response.TaskInfo) (*providerPricing.Task, []*providerPricing.Provider) { return nil, nil } - -func (h *HpcScheduler) assignTask() error { - return nil -} diff --git a/pkg/scheduler/scheduler.go b/pkg/scheduler/scheduler.go index 5e0fe90c..e05351c8 100644 --- a/pkg/scheduler/scheduler.go +++ b/pkg/scheduler/scheduler.go @@ -131,11 +131,15 @@ func (s *scheduler) AssignAndSchedule() error { return nil } - //生成算法所需参数 - //task, providerList, err := s.obtainParamsForStrategy() - //if err != nil { - // return err - //} + strategy, err := s.scheduleService.pickOptimalStrategy() + if err != nil { + return err + } + + _, err = strategy.Schedule() + if err != nil { + return err + } //集群数量不满足,指定到标签匹配后第一个集群 //if len(providerList) < 2 { diff --git a/pkg/scheduler/strategies/replicationStrategy.go b/pkg/scheduler/strategies/replicationStrategy.go new file mode 100644 index 00000000..569fad69 --- /dev/null +++ b/pkg/scheduler/strategies/replicationStrategy.go @@ -0,0 +1,12 @@ +package strategies + +type ReplicationStrategy struct { +} + +func (ps *ReplicationStrategy) findAvailableCLuster() error { + return nil +} + +func (ps *ReplicationStrategy) Schedule() ([]*AssignedCluster, error) { + return nil, nil +}