diff --git a/pkg/scheduler/cache/candidate/base.go b/pkg/scheduler/cache/candidate/base.go index 31c8e306c4..5a0c5eea30 100644 --- a/pkg/scheduler/cache/candidate/base.go +++ b/pkg/scheduler/cache/candidate/base.go @@ -392,10 +392,6 @@ func newBaseHostDesc(b *baseBuilder, host *computemodels.SHost, netGetter *netwo return nil, fmt.Errorf("Fill region error: %v", err) } - if err := desc.fillResidentTenants(host); err != nil { - return nil, fmt.Errorf("Fill resident tenants error: %v", err) - } - if err := desc.fillStorages(host); err != nil { return nil, fmt.Errorf("Fill storage error: %v", err) } @@ -604,16 +600,16 @@ func (b *BaseHostDesc) fillZone(host *computemodels.SHost) error { return nil } -func (b *BaseHostDesc) fillResidentTenants(host *computemodels.SHost) error { - rets, err := HostResidentTenantCount(host.Id) - if err != nil { - return err - } - - b.Tenants = rets - - return nil -} +// func (b *BaseHostDesc) fillResidentTenants(host *computemodels.SHost) error { +// rets, err := HostResidentTenantCount(host.Id) +// if err != nil { +// return err +// } +// +// b.Tenants = rets +// +// return nil +// } func (b *BaseHostDesc) fillSharedDomains() error { b.SharedDomains = b.SHost.GetSharedDomains() diff --git a/pkg/scheduler/cache/candidate/hosts.go b/pkg/scheduler/cache/candidate/hosts.go index b455c85452..4af3eca00d 100644 --- a/pkg/scheduler/cache/candidate/hosts.go +++ b/pkg/scheduler/cache/candidate/hosts.go @@ -756,8 +756,15 @@ func (b *HostBuilder) fillGuestsResourceInfo(desc *HostDesc, host *computemodels guestsOnHost = append(guestsOnHost, backupGuestsOnHost...) } + desc.Tenants = make(map[string]int64) for _, gst := range guestsOnHost { guest := gst.(computemodels.SGuest) + projectId := guest.ProjectId + if count, ok := desc.Tenants[projectId]; ok { + desc.Tenants[projectId] = count + 1 + } else { + desc.Tenants[projectId] = 1 + } if IsGuestRunning(guest) { runningCount++ memSize += int64(guest.VmemSize)