Skip to content

Commit 05019dc

Browse files
authored
Add UT for RecconcileVPCSecurityGroups (#2011)
1 parent 4755c63 commit 05019dc

File tree

2 files changed

+2353
-8
lines changed

2 files changed

+2353
-8
lines changed

cloud/scope/powervs_cluster.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1259,7 +1259,7 @@ func (s *PowerVSClusterScope) ReconcileVPCSecurityGroups() error {
12591259
if securityGroup.Name != nil {
12601260
securityGroupID, securityGroupRuleIDs, _ = s.GetVPCSecurityGroupByName(*securityGroup.Name)
12611261
} else {
1262-
_, securityGroupRuleIDs, _ = s.GetVPCSecurityGroupByID(*securityGroup.ID)
1262+
securityGroupID, securityGroupRuleIDs, _ = s.GetVPCSecurityGroupByID(*securityGroup.ID)
12631263
}
12641264

12651265
if securityGroupID != nil && securityGroupRuleIDs != nil {
@@ -1333,7 +1333,7 @@ func (s *PowerVSClusterScope) createVPCSecurityGroupRule(securityGroupID, direct
13331333
if err != nil {
13341334
return fmt.Errorf("failed to find VPC security group by name '%s', err: %w", *remote.SecurityGroupName, err)
13351335
}
1336-
if sg.Name != nil {
1336+
if sg == nil {
13371337
return fmt.Errorf("VPC security group by name '%s' does not exist", *remote.SecurityGroupName)
13381338
}
13391339
s.V(3).Info("Creating VPC security group rule", "securityGroupID", *securityGroupID, "direction", *direction, "protocol", *protocol, "securityGroup", *remote.SecurityGroupName, "securityGroupCRN", *sg.CRN)
@@ -1511,10 +1511,6 @@ func (s *PowerVSClusterScope) validateSecurityGroupRule(originalSecurityGroupRul
15111511
}
15121512

15131513
protocol := string(rule.Protocol)
1514-
portMin := rule.PortRange.MinimumPort
1515-
portMax := rule.PortRange.MaximumPort
1516-
icmpCode := rule.ICMPCode
1517-
icmpType := rule.ICMPType
15181514

15191515
for _, ogRuleIntf := range originalSecurityGroupRules {
15201516
switch reflect.TypeOf(ogRuleIntf).String() {
@@ -1531,6 +1527,8 @@ func (s *PowerVSClusterScope) validateSecurityGroupRule(originalSecurityGroupRul
15311527
}
15321528
}
15331529
case "*vpcv1.SecurityGroupRuleSecurityGroupRuleProtocolTcpudp":
1530+
portMin := rule.PortRange.MinimumPort
1531+
portMax := rule.PortRange.MaximumPort
15341532
ogRule := ogRuleIntf.(*vpcv1.SecurityGroupRuleSecurityGroupRuleProtocolTcpudp)
15351533
ruleID = ogRule.ID
15361534

@@ -1543,6 +1541,8 @@ func (s *PowerVSClusterScope) validateSecurityGroupRule(originalSecurityGroupRul
15431541
}
15441542
}
15451543
case "*vpcv1.SecurityGroupRuleSecurityGroupRuleProtocolIcmp":
1544+
icmpCode := rule.ICMPCode
1545+
icmpType := rule.ICMPType
15461546
ogRule := ogRuleIntf.(*vpcv1.SecurityGroupRuleSecurityGroupRuleProtocolIcmp)
15471547
ruleID = ogRule.ID
15481548

@@ -1624,7 +1624,7 @@ func (s *PowerVSClusterScope) validateVPCSecurityGroup(securityGroup infrav1beta
16241624
return nil, nil, nil
16251625
}
16261626
}
1627-
if securityGroupDet != nil && *securityGroupDet.VPC.ID != *s.GetVPCID() {
1627+
if securityGroupDet.VPC == nil || securityGroupDet.VPC.ID == nil || *securityGroupDet.VPC.ID != *s.GetVPCID() {
16281628
return nil, nil, fmt.Errorf("VPC security group by name exists but is not attached to VPC")
16291629
}
16301630

@@ -1633,7 +1633,7 @@ func (s *PowerVSClusterScope) validateVPCSecurityGroup(securityGroup infrav1beta
16331633
return nil, nil, fmt.Errorf("failed to validate VPC security group rules: %v", err)
16341634
}
16351635
if !ok {
1636-
if _, _, controllerCreated := s.GetVPCSecurityGroupByName(*securityGroup.Name); !*controllerCreated {
1636+
if _, _, controllerCreated := s.GetVPCSecurityGroupByName(*securityGroup.Name); controllerCreated != nil && !*controllerCreated {
16371637
return nil, nil, fmt.Errorf("VPC security group by name exists but rules are not matching")
16381638
}
16391639
return nil, nil, s.createVPCSecurityGroupRulesAndSetStatus(securityGroup.Rules, securityGroupDet.ID, securityGroupDet.Name)

0 commit comments

Comments
 (0)