From 106f7b3d2ad2700d35bd6f11ac916c179f5a2cee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E8=BD=A9?= Date: Wed, 22 Oct 2025 11:30:29 +0800 Subject: [PATCH] fix(region): disable cloudprovider when sync lost (#23583) --- pkg/compute/models/cloudaccounts.go | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pkg/compute/models/cloudaccounts.go b/pkg/compute/models/cloudaccounts.go index 320f2feb03..18a09d5f36 100644 --- a/pkg/compute/models/cloudaccounts.go +++ b/pkg/compute/models/cloudaccounts.go @@ -1109,11 +1109,9 @@ func (acnt *SCloudaccount) removeSubAccounts(ctx context.Context, userCred mccli return errors.Wrapf(err, "db.FetchModelObjects") } for i := range providers { - log.Debugf("remove cloudprovider %s(%s)", providers[i].Name, providers[i].Id) - err = providers[i].RealDelete(ctx, userCred) - if err != nil { - return errors.Wrapf(err, "RealDelete") - } + // 禁用云订阅,并设置为未连接状态,避免权限异常删除云订阅 + providers[i].PerformDisable(ctx, userCred, jsonutils.NewDict(), apis.PerformDisableInput{}) + providers[i].SetStatus(ctx, userCred, api.CLOUD_PROVIDER_DISCONNECTED, "sync lost") } return nil }