diff --git a/pkg/compute/models/cloudaccounts.go b/pkg/compute/models/cloudaccounts.go index 8a946c5fba..72cacd37f6 100644 --- a/pkg/compute/models/cloudaccounts.go +++ b/pkg/compute/models/cloudaccounts.go @@ -1188,6 +1188,13 @@ func (self *SCloudaccount) importSubAccount(ctx context.Context, userCred mcclie } newCloudprovider.ProjectId = projectId newCloudprovider.DomainId = domainId + } else { + lockman.LockRawObject(ctx, CloudproviderManager.Keyword(), "name") + defer lockman.ReleaseRawObject(ctx, CloudproviderManager.Keyword(), "name") + newCloudprovider.Name, err = db.GenerateName(ctx, CloudproviderManager, nil, subAccount.Name) + if err != nil { + return err + } } return CloudproviderManager.TableSpec().Insert(ctx, &newCloudprovider) }()