Skip to content

Commit 104f15f

Browse files
committed
Don't validate security group passed by uuid
1 parent d314406 commit 104f15f

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

pkg/cloud/services/compute/instance_test.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ import (
3333
"github.com/gophercloud/gophercloud/openstack/imageservice/v2/images"
3434
"github.com/gophercloud/gophercloud/openstack/networking/v2/extensions"
3535
"github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/attributestags"
36-
"github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/security/groups"
3736
"github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/trunks"
3837
"github.com/gophercloud/gophercloud/openstack/networking/v2/networks"
3938
"github.com/gophercloud/gophercloud/openstack/networking/v2/ports"
@@ -1030,10 +1029,6 @@ func TestService_CreateInstance(t *testing.T) {
10301029
expectUseExistingDefaultPort(networkRecorder)
10311030
expectDefaultImageAndFlavor(computeRecorder)
10321031

1033-
// TODO: Shortcut this API call if security groups are passed by UUID
1034-
networkRecorder.ListSecGroup(groups.ListOpts{ID: extraSecurityGroupUUID}).
1035-
Return([]groups.SecGroup{{ID: extraSecurityGroupUUID}}, nil)
1036-
10371032
createMap := getDefaultServerMap()
10381033
serverMap := createMap["server"].(map[string]interface{})
10391034
serverMap["security_groups"] = []map[string]interface{}{

pkg/cloud/services/networking/securitygroups.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -393,6 +393,15 @@ func (s *Service) generateDesiredSecGroups(openStackCluster *infrav1.OpenStackCl
393393
func (s *Service) GetSecurityGroups(securityGroupParams []infrav1.SecurityGroupParam) ([]string, error) {
394394
var sgIDs []string
395395
for _, sg := range securityGroupParams {
396+
// Don't validate an explicit UUID if we were given one
397+
if sg.UUID != "" {
398+
if isDuplicate(sgIDs, sg.UUID) {
399+
continue
400+
}
401+
sgIDs = append(sgIDs, sg.UUID)
402+
continue
403+
}
404+
396405
listOpts := groups.ListOpts(sg.Filter)
397406
if listOpts.ProjectID == "" {
398407
listOpts.ProjectID = s.projectID

0 commit comments

Comments
 (0)