Skip to content

Commit 2966375

Browse files
authored
Merge pull request #5508 from giantswarm/privatedns-change-launchtemplate
🐛 Update launch template if PrivateDnsName changes
2 parents a5c3e0a + 944a2de commit 2966375

File tree

2 files changed

+65
-0
lines changed

2 files changed

+65
-0
lines changed

pkg/cloud/services/ec2/launchtemplate.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -802,6 +802,10 @@ func (s *Service) LaunchTemplateNeedsUpdate(scope scope.LaunchTemplateScope, inc
802802
return true, nil
803803
}
804804

805+
if !cmp.Equal(incoming.PrivateDNSName, existing.PrivateDNSName) {
806+
return true, nil
807+
}
808+
805809
if !cmp.Equal(incoming.SSHKeyName, existing.SSHKeyName) {
806810
return true, nil
807811
}

pkg/cloud/services/ec2/launchtemplate_test.go

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -799,6 +799,67 @@ func TestServiceLaunchTemplateNeedsUpdate(t *testing.T) {
799799
want: true,
800800
wantErr: false,
801801
},
802+
{
803+
name: "Should return true if incoming PrivateDNSName is different from existing PrivateDNSName",
804+
incoming: &expinfrav1.AWSLaunchTemplate{
805+
PrivateDNSName: &infrav1.PrivateDNSName{
806+
EnableResourceNameDNSARecord: aws.Bool(true),
807+
EnableResourceNameDNSAAAARecord: aws.Bool(false),
808+
HostnameType: aws.String("resource-name"),
809+
},
810+
},
811+
existing: &expinfrav1.AWSLaunchTemplate{
812+
AdditionalSecurityGroups: []infrav1.AWSResourceReference{
813+
{ID: aws.String("sg-111")},
814+
{ID: aws.String("sg-222")},
815+
},
816+
PrivateDNSName: &infrav1.PrivateDNSName{
817+
EnableResourceNameDNSARecord: aws.Bool(false),
818+
EnableResourceNameDNSAAAARecord: aws.Bool(false),
819+
HostnameType: aws.String("ip-name"),
820+
},
821+
},
822+
want: true,
823+
wantErr: false,
824+
},
825+
{
826+
name: "Should return true if incoming adds PrivateDNSName and existing has none",
827+
incoming: &expinfrav1.AWSLaunchTemplate{
828+
PrivateDNSName: &infrav1.PrivateDNSName{
829+
EnableResourceNameDNSARecord: aws.Bool(true),
830+
EnableResourceNameDNSAAAARecord: aws.Bool(false),
831+
HostnameType: aws.String("resource-name"),
832+
},
833+
},
834+
existing: &expinfrav1.AWSLaunchTemplate{
835+
AdditionalSecurityGroups: []infrav1.AWSResourceReference{
836+
{ID: aws.String("sg-111")},
837+
{ID: aws.String("sg-222")},
838+
},
839+
PrivateDNSName: nil,
840+
},
841+
want: true,
842+
wantErr: false,
843+
},
844+
{
845+
name: "Should return true if incoming removes PrivateDNSName and existing has some",
846+
incoming: &expinfrav1.AWSLaunchTemplate{
847+
PrivateDNSName: nil,
848+
},
849+
existing: &expinfrav1.AWSLaunchTemplate{
850+
AdditionalSecurityGroups: []infrav1.AWSResourceReference{
851+
{ID: aws.String("sg-111")},
852+
{ID: aws.String("sg-222")},
853+
},
854+
PrivateDNSName: &infrav1.PrivateDNSName{
855+
EnableResourceNameDNSARecord: aws.Bool(true),
856+
EnableResourceNameDNSAAAARecord: aws.Bool(false),
857+
HostnameType: aws.String("resource-name"),
858+
},
859+
},
860+
want: true,
861+
wantErr: false,
862+
},
802863
}
803864
for _, tt := range tests {
804865
t.Run(tt.name, func(t *testing.T) {

0 commit comments

Comments
 (0)