fix: 避免名称重复

This commit is contained in:
Qu Xuan
2020-09-15 19:27:03 +08:00
parent e197ff815a
commit 1b3d3310dc
2 changed files with 10 additions and 5 deletions
+1 -1
View File
@@ -1117,7 +1117,7 @@ func (self *SCloudaccount) GetOrCreateCloudgroup(ctx context.Context, userCred m
policyIds = append(policyIds, policy.Id)
}
}
group, err := CloudgroupManager.newCloudgroup(ctx, userCred, iGroup, self.Provider, self.DomainId)
group, err := CloudgroupManager.newCloudgroup(ctx, userCred, self.GetOwnerId(), iGroup, self.Provider)
if err != nil {
return nil, errors.Wrap(err, "newCloudgroup")
}
+9 -4
View File
@@ -204,17 +204,22 @@ func (self *SCloudgroup) PostCreate(ctx context.Context, userCred mcclient.Token
}
}
func (manager *SCloudgroupManager) newCloudgroup(ctx context.Context, userCred mcclient.TokenCredential, iGroup cloudprovider.ICloudgroup, provider, domainId string) (*SCloudgroup, error) {
func (manager *SCloudgroupManager) newCloudgroup(ctx context.Context, userCred mcclient.TokenCredential, ownerId mcclient.IIdentityProvider, iGroup cloudprovider.ICloudgroup, provider string) (*SCloudgroup, error) {
lockman.LockClass(ctx, manager, db.GetLockClassKey(manager, userCred))
defer lockman.ReleaseClass(ctx, manager, db.GetLockClassKey(manager, userCred))
var err error
group := &SCloudgroup{}
group.Name = iGroup.GetName()
group.Name, err = db.GenerateName(manager, ownerId, iGroup.GetName())
if err != nil {
return nil, errors.Wrapf(err, "db.GenerateName")
}
group.Description = iGroup.GetDescription()
group.Provider = provider
group.DomainId = domainId
group.DomainId = ownerId.GetProjectDomainId()
group.Status = api.CLOUD_GROUP_STATUS_AVAILABLE
group.SetModelManager(manager, group)
err := manager.TableSpec().Insert(ctx, group)
err = manager.TableSpec().Insert(ctx, group)
if err != nil {
return nil, errors.Wrap(err, "Insert")
}