From 0bd84dd4b087feaef0e38226f1c2219c286d6337 Mon Sep 17 00:00:00 2001 From: rainzm Date: Fri, 31 Jul 2020 11:26:15 +0800 Subject: [PATCH] feat: Add method 'Sku' to CandidatePropertyGetter --- pkg/scheduler/cache/candidate/base.go | 6 ++++++ pkg/scheduler/core/types.go | 2 ++ 2 files changed, 8 insertions(+) diff --git a/pkg/scheduler/cache/candidate/base.go b/pkg/scheduler/cache/candidate/base.go index c123272524..40ab5f2e2f 100644 --- a/pkg/scheduler/cache/candidate/base.go +++ b/pkg/scheduler/cache/candidate/base.go @@ -30,6 +30,7 @@ import ( computemodels "yunion.io/x/onecloud/pkg/compute/models" "yunion.io/x/onecloud/pkg/scheduler/api" "yunion.io/x/onecloud/pkg/scheduler/core" + "yunion.io/x/onecloud/pkg/scheduler/data_manager/sku" schedmodels "yunion.io/x/onecloud/pkg/scheduler/models" ) @@ -124,6 +125,11 @@ func (b baseHostGetter) HostSchedtags() []computemodels.SSchedtag { return b.h.HostSchedtags } +func (b baseHostGetter) Sku(instanceType string) *sku.ServerSku { + zone := b.Zone() + return sku.GetByZone(instanceType, zone.GetId()) +} + func (b baseHostGetter) Storages() []*api.CandidateStorage { return b.h.Storages } diff --git a/pkg/scheduler/core/types.go b/pkg/scheduler/core/types.go index 3258fc5914..d4edd9004a 100644 --- a/pkg/scheduler/core/types.go +++ b/pkg/scheduler/core/types.go @@ -28,6 +28,7 @@ import ( computemodels "yunion.io/x/onecloud/pkg/compute/models" "yunion.io/x/onecloud/pkg/scheduler/api" "yunion.io/x/onecloud/pkg/scheduler/core/score" + "yunion.io/x/onecloud/pkg/scheduler/data_manager/sku" schedmodels "yunion.io/x/onecloud/pkg/scheduler/models" ) @@ -74,6 +75,7 @@ type CandidatePropertyGetter interface { Region() *computemodels.SCloudregion HostType() string HostSchedtags() []computemodels.SSchedtag + Sku(string) *sku.ServerSku Storages() []*api.CandidateStorage Networks() []*api.CandidateNetwork OvnCapable() bool