Skip to content

Commit efaae42

Browse files
authored
Merge pull request #3554 from k8s-infra-cherrypick-robot/cherry-pick-3551-to-release-1.9
[release-1.9] allow setting the NatGateway name if it's empty when update AzureCluster
2 parents 0acc847 + b0c046f commit efaae42

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

api/v1beta1/azurecluster_webhook.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ func (c *AzureCluster) validateSubnetUpdate(old *AzureCluster) field.ErrorList {
168168
c.Spec.NetworkSpec.Subnets[i].RouteTable.Name, "field is immutable"),
169169
)
170170
}
171-
if subnet.NatGateway.Name != oldSubnet.NatGateway.Name {
171+
if (subnet.NatGateway.Name != oldSubnet.NatGateway.Name) && (oldSubnet.NatGateway.Name != "") {
172172
allErrs = append(allErrs,
173173
field.Invalid(field.NewPath("spec", "networkSpec", "subnets").Index(oldSubnetIndex[subnet.Name]).Child("NatGateway").Child("Name"),
174174
c.Spec.NetworkSpec.Subnets[i].NatGateway.Name, "field is immutable"),

api/v1beta1/azurecluster_webhook_test.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,30 @@ func TestAzureCluster_ValidateUpdate(t *testing.T) {
318318
},
319319
wantErr: true,
320320
},
321+
{
322+
name: "natGateway name is immutable",
323+
oldCluster: func() *AzureCluster {
324+
cluster := createValidCluster()
325+
cluster.Spec.NetworkSpec.Subnets[0].NatGateway.Name = "cluster-test-node-natgw-0"
326+
return cluster
327+
}(),
328+
cluster: func() *AzureCluster {
329+
cluster := createValidCluster()
330+
cluster.Spec.NetworkSpec.Subnets[0].NatGateway.Name = "cluster-test-node-natgw-1"
331+
return cluster
332+
}(),
333+
wantErr: true,
334+
},
335+
{
336+
name: "natGateway name can be empty before AzureCluster is updated",
337+
oldCluster: createValidCluster(),
338+
cluster: func() *AzureCluster {
339+
cluster := createValidCluster()
340+
cluster.Spec.NetworkSpec.Subnets[0].NatGateway.Name = "cluster-test-node-natgw"
341+
return cluster
342+
}(),
343+
wantErr: false,
344+
},
321345
}
322346
for _, tc := range tests {
323347
tc := tc

0 commit comments

Comments
 (0)