Merge pull request #5825 from ioito/hotfix/qx-secgroup-dup-name

fix: 尽量避免secgroup重名问题
This commit is contained in:
Zexi Li
2020-04-17 00:02:25 +08:00
committed by GitHub
+6 -3
View File
@@ -1490,8 +1490,11 @@ func (self *SManagedVirtualizationRegionDriver) RequestSyncSecurityGroup(ctx con
secgroup.Name = "DefaultGroup"
}
// 避免有的云不支持重名安全组
groupName := secgroup.Name
for i := 0; i < 30; i++ {
randomString := func(prefix string, length int) string {
return fmt.Sprintf("%s-%s", prefix, rand.String(length))
}
groupName := randomString(secgroup.Name, 1)
for i := 2; i < 30; i++ {
_, err := iRegion.GetISecurityGroupByName(vpc.ExternalId, groupName)
if err != nil {
if errors.Cause(err) == cloudprovider.ErrNotFound {
@@ -1501,7 +1504,7 @@ func (self *SManagedVirtualizationRegionDriver) RequestSyncSecurityGroup(ctx con
return "", err
}
}
groupName = fmt.Sprintf("%s-%d", secgroup.Name, i)
groupName = randomString(secgroup.Name, i)
}
conf := &cloudprovider.SecurityGroupCreateInput{
Name: groupName,