fix: 尽量避免secgroup重名问题

This commit is contained in:
Qu Xuan
2020-04-16 16:39:20 +08:00
parent 1284538005
commit 466e8ff8d7
+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,