From 8650dcfa5eaa4e0aa8efd701ee9d45c9e61567be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E8=BD=A9?= Date: Tue, 5 Mar 2024 17:18:16 +0800 Subject: [PATCH] fix(region): sync account project (#19643) --- pkg/compute/models/cloudaccounts.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/compute/models/cloudaccounts.go b/pkg/compute/models/cloudaccounts.go index eab1fccb52..abd98e083b 100644 --- a/pkg/compute/models/cloudaccounts.go +++ b/pkg/compute/models/cloudaccounts.go @@ -2876,7 +2876,7 @@ func (acnt *SCloudaccount) GetExternalProjectsByProjectIdOrName(projectId, name sqlchemy.Equals(q.Field("name"), name), sqlchemy.Equals(q.Field("tenant_id"), projectId), ), - ) + ).Desc("priority") err := db.FetchModelObjects(ExternalProjectManager, q, &projects) if err != nil { return nil, errors.Wrap(err, "db.FetchModelObjects") @@ -2996,7 +2996,7 @@ func GetAvailableExternalProject(local *db.STenant, projects []SExternalProject) return ret } -// 若本地项目映射了多个云上项目,则在云上随机找一个项目 +// 若本地项目映射了多个云上项目,则在根据优先级找优先级最大的云上项目 // 若本地项目没有映射云上任何项目,则在云上新建一个同名项目 // 若本地项目a映射云上项目b,但b项目不可用,则看云上是否有a项目,有则直接使用,若没有则在云上创建a-1, a-2类似项目 func (acnt *SCloudaccount) SyncProject(ctx context.Context, userCred mcclient.TokenCredential, projectId string) (string, error) {