Skip to content

Commit cada92b

Browse files
authored
Merge pull request #47 from aws/fix/add-open-firewall-fules-back
Call openFirewallRules in CreateIsolatedNetwork to create an egress rule
2 parents 434e4c4 + 1cef914 commit cada92b

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

pkg/cloud/network.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ type NetworkIface interface {
3030
ResolveNetworkStatuses(*capcv1.CloudStackCluster) error
3131
ResolveNetwork(*capcv1.CloudStackCluster, *capcv1.Network) error
3232
CreateIsolatedNetwork(*capcv1.CloudStackCluster) error
33-
OpenFirewallRules(*capcv1.CloudStackCluster) error
33+
OpenFirewallRules(networkID string) error
3434
FetchPublicIP(*capcv1.CloudStackCluster) (*cloudstack.PublicIpAddress, error)
3535
ResolveLoadBalancerRuleDetails(*capcv1.CloudStackCluster) error
3636
GetOrCreateLoadBalancerRule(*capcv1.CloudStackCluster) error
@@ -146,6 +146,10 @@ func (c *client) CreateIsolatedNetwork(csCluster *capcv1.CloudStackCluster) (ret
146146
return err
147147
}
148148

149+
if err := c.OpenFirewallRules(zoneStatus.Network.ID); err != nil {
150+
return err
151+
}
152+
149153
return nil
150154
}
151155

@@ -268,8 +272,8 @@ func (c *client) AssociatePublicIPAddress(csCluster *capcv1.CloudStackCluster) (
268272
return nil
269273
}
270274

271-
func (c *client) OpenFirewallRules(csCluster *capcv1.CloudStackCluster) (retErr error) {
272-
p := c.cs.Firewall.NewCreateEgressFirewallRuleParams(csCluster.Status.PublicIPNetworkID, NetworkProtocolTCP)
275+
func (c *client) OpenFirewallRules(networkID string) (retErr error) {
276+
p := c.cs.Firewall.NewCreateEgressFirewallRuleParams(networkID, NetworkProtocolTCP)
273277
_, retErr = c.cs.Firewall.CreateEgressFirewallRule(p)
274278
if retErr != nil && strings.Contains(strings.ToLower(retErr.Error()), "there is already") { // Already a firewall rule here.
275279
retErr = nil

pkg/cloud/network_test.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,10 @@ var _ = Describe("Network", func() {
127127
PublicIpAddresses: []*csapi.PublicIpAddress{{Id: dummies.PublicIPID, Ipaddress: "fakeIP"}}}, nil)
128128
as.EXPECT().NewAssociateIpAddressParams().Return(&csapi.AssociateIpAddressParams{})
129129
as.EXPECT().AssociateIpAddress(gomock.Any())
130+
fs.EXPECT().NewCreateEgressFirewallRuleParams(dummies.ISONet1.ID, cloud.NetworkProtocolTCP).
131+
Return(&csapi.CreateEgressFirewallRuleParams{})
132+
fs.EXPECT().CreateEgressFirewallRule(&csapi.CreateEgressFirewallRuleParams{}).
133+
Return(&csapi.CreateEgressFirewallRuleResponse{}, nil)
130134

131135
// Will add cluster tag once to Network and once to PublicIP.
132136
createdByResponse := &csapi.ListTagsResponse{Tags: []*csapi.Tag{{Key: cloud.CreatedByCAPCTagName, Value: "1"}}}
@@ -159,7 +163,7 @@ var _ = Describe("Network", func() {
159163
fs.EXPECT().CreateEgressFirewallRule(&csapi.CreateEgressFirewallRuleParams{}).
160164
Return(&csapi.CreateEgressFirewallRuleResponse{}, nil)
161165

162-
Ω(client.OpenFirewallRules(dummies.CSCluster)).Should(Succeed())
166+
Ω(client.OpenFirewallRules(dummies.ISONet1.ID)).Should(Succeed())
163167
})
164168
})
165169

@@ -174,7 +178,7 @@ var _ = Describe("Network", func() {
174178
fs.EXPECT().CreateEgressFirewallRule(&csapi.CreateEgressFirewallRuleParams{}).
175179
Return(&csapi.CreateEgressFirewallRuleResponse{}, errors.New("there is already a rule like this"))
176180

177-
Ω(client.OpenFirewallRules(dummies.CSCluster)).Should(Succeed())
181+
Ω(client.OpenFirewallRules(dummies.ISONet1.ID)).Should(Succeed())
178182
})
179183
})
180184

0 commit comments

Comments
 (0)