@@ -292,8 +292,14 @@ func popMember(members []v2pools.Member, addr string, port int) []v2pools.Member
292292 return members
293293}
294294
295- func getSecurityGroupName (clusterName string , service * v1.Service ) string {
296- return fmt .Sprintf ("lb-sg-%s-%s-%s" , clusterName , service .Namespace , service .Name )
295+ func getSecurityGroupName (service * v1.Service ) string {
296+ securityGroupName := fmt .Sprintf ("lb-sg-%s-%s-%s" , service .UID , service .Namespace , service .Name )
297+ //OpenStack requires that the name of a security group is shorter than 255 bytes.
298+ if len (securityGroupName ) > 255 {
299+ securityGroupName = securityGroupName [:255 ]
300+ }
301+
302+ return securityGroupName
297303}
298304
299305func getSecurityGroupRules (client * gophercloud.ServiceClient , opts rules.ListOpts ) ([]rules.SecGroupRule , error ) {
@@ -899,7 +905,7 @@ func (lbaas *LbaasV2) ensureSecurityGroup(clusterName string, apiService *v1.Ser
899905 }
900906
901907 // ensure security group for LB
902- lbSecGroupName := getSecurityGroupName (clusterName , apiService )
908+ lbSecGroupName := getSecurityGroupName (apiService )
903909 lbSecGroupID , err := groups .IDFromName (lbaas .network , lbSecGroupName )
904910 if err != nil {
905911 // check whether security group does not exist
@@ -914,8 +920,8 @@ func (lbaas *LbaasV2) ensureSecurityGroup(clusterName string, apiService *v1.Ser
914920 if len (lbSecGroupID ) == 0 {
915921 // create security group
916922 lbSecGroupCreateOpts := groups.CreateOpts {
917- Name : getSecurityGroupName (clusterName , apiService ),
918- Description : fmt .Sprintf ("Securty Group for loadbalancer service %s/%s" , apiService .Namespace , apiService .Name ),
923+ Name : getSecurityGroupName (apiService ),
924+ Description : fmt .Sprintf ("Securty Group for %s/%s Service LoadBalancer in cluster %s " , apiService .Namespace , apiService .Name , clusterName ),
919925 }
920926
921927 lbSecGroup , err := groups .Create (lbaas .network , lbSecGroupCreateOpts ).Extract ()
@@ -1197,7 +1203,7 @@ func (lbaas *LbaasV2) updateSecurityGroup(clusterName string, apiService *v1.Ser
11971203 removals := original .Difference (current )
11981204
11991205 // Generate Name
1200- lbSecGroupName := getSecurityGroupName (clusterName , apiService )
1206+ lbSecGroupName := getSecurityGroupName (apiService )
12011207 lbSecGroupID , err := groups .IDFromName (lbaas .network , lbSecGroupName )
12021208 if err != nil {
12031209 return fmt .Errorf ("error occurred finding security group: %s: %v" , lbSecGroupName , err )
@@ -1369,7 +1375,7 @@ func (lbaas *LbaasV2) EnsureLoadBalancerDeleted(clusterName string, service *v1.
13691375 // Delete the Security Group
13701376 if lbaas .opts .ManageSecurityGroups {
13711377 // Generate Name
1372- lbSecGroupName := getSecurityGroupName (clusterName , service )
1378+ lbSecGroupName := getSecurityGroupName (service )
13731379 lbSecGroupID , err := groups .IDFromName (lbaas .network , lbSecGroupName )
13741380 if err != nil {
13751381 // check whether security group does not exist
0 commit comments