Skip to content

Commit 41e8bbf

Browse files
authored
Merge pull request #5816 from cPu1/fix/cluster-nat
Fix disabling NAT gateway creation for `cluster` role subnets
2 parents a171336 + dc78d0e commit 41e8bbf

File tree

2 files changed

+51
-5
lines changed

2 files changed

+51
-5
lines changed

api/v1beta1/azurecluster_default.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -202,11 +202,13 @@ func (s *SubnetSpec) setClusterSubnetDefaults(clusterName string) {
202202
if s.RouteTable.Name == "" {
203203
s.RouteTable.Name = generateClusterRouteTableName(clusterName)
204204
}
205-
if s.NatGateway.Name == "" {
206-
s.NatGateway.Name = generateClusterNatGatewayName(clusterName)
207-
}
208-
if !s.IsIPv6Enabled() && s.ID == "" && s.NatGateway.NatGatewayIP.Name == "" {
209-
s.NatGateway.NatGatewayIP.Name = generateNatGatewayIPName(s.NatGateway.Name)
205+
if s.ID == "" {
206+
if s.NatGateway.Name == "" {
207+
s.NatGateway.Name = generateClusterNatGatewayName(clusterName)
208+
}
209+
if !s.IsIPv6Enabled() && s.NatGateway.NatGatewayIP.Name == "" {
210+
s.NatGateway.NatGatewayIP.Name = generateNatGatewayIPName(s.NatGateway.Name)
211+
}
210212
}
211213
s.setDefaults(DefaultClusterSubnetCIDR)
212214
s.SecurityGroup.SecurityGroupClass.setDefaults()

api/v1beta1/azurecluster_default_test.go

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1098,6 +1098,50 @@ func TestSubnetDefaults(t *testing.T) {
10981098
},
10991099
},
11001100
},
1101+
{
1102+
name: "don't default NAT Gateway for cluster subnet if subnet already exists",
1103+
cluster: &AzureCluster{
1104+
ObjectMeta: metav1.ObjectMeta{
1105+
Name: "cluster-test",
1106+
},
1107+
Spec: AzureClusterSpec{
1108+
ControlPlaneEnabled: true,
1109+
NetworkSpec: NetworkSpec{
1110+
Subnets: Subnets{
1111+
{
1112+
SubnetClassSpec: SubnetClassSpec{
1113+
Role: SubnetCluster,
1114+
Name: "cluster-test-cluster-subnet",
1115+
},
1116+
ID: "my-subnet-id",
1117+
},
1118+
},
1119+
},
1120+
},
1121+
},
1122+
output: &AzureCluster{
1123+
ObjectMeta: metav1.ObjectMeta{
1124+
Name: "cluster-test",
1125+
},
1126+
Spec: AzureClusterSpec{
1127+
ControlPlaneEnabled: true,
1128+
NetworkSpec: NetworkSpec{
1129+
Subnets: Subnets{
1130+
{
1131+
SubnetClassSpec: SubnetClassSpec{
1132+
Role: SubnetCluster,
1133+
CIDRBlocks: []string{DefaultClusterSubnetCIDR},
1134+
Name: "cluster-test-cluster-subnet",
1135+
},
1136+
ID: "my-subnet-id",
1137+
SecurityGroup: SecurityGroup{Name: "cluster-test-nsg"},
1138+
RouteTable: RouteTable{Name: "cluster-test-routetable"},
1139+
},
1140+
},
1141+
},
1142+
},
1143+
},
1144+
},
11011145
}
11021146

11031147
for _, c := range cases {

0 commit comments

Comments
 (0)