diff --git a/pkg/cloud/services/ec2/instances.go b/pkg/cloud/services/ec2/instances.go index 7a311a9326..8fdeb4c7de 100644 --- a/pkg/cloud/services/ec2/instances.go +++ b/pkg/cloud/services/ec2/instances.go @@ -1165,7 +1165,7 @@ func (s *Service) GetDHCPOptionSetDomainName(ec2client common.EC2API, vpcID *str dhcpResult, err := ec2client.DescribeDhcpOptions(context.TODO(), dhcpInput) if err != nil { - log.Error(err, "failed to describe DHCP Options Set", "DhcpOptionsSet", *dhcpResult) + log.Error(err, "failed to describe DHCP Options Set", "input", *dhcpInput) return nil } diff --git a/pkg/cloud/services/ec2/instances_test.go b/pkg/cloud/services/ec2/instances_test.go index 86ceb01f3d..a54a9eeac4 100644 --- a/pkg/cloud/services/ec2/instances_test.go +++ b/pkg/cloud/services/ec2/instances_test.go @@ -6359,6 +6359,19 @@ func TestGetDHCPOptionSetDomainName(t *testing.T) { expectedPrivateDNSName: nil, mockCalls: mockedGetPrivateDNSDomainNameFromDHCPOptionsEmptyCalls, }, + { + name: "DescribeDhcpOptions call returns error, e.g. because it is denied by IAM policy", + vpcID: "vpc-exists", + dhcpOpt: &types.DhcpOptions{ + DhcpConfigurations: []types.DhcpConfiguration{ + { + Key: aws.String("domain-name"), + }, + }, + }, + expectedPrivateDNSName: nil, + mockCalls: mockedGetPrivateDNSDomainNameFromDHCPOptionsErrorCalls, + }, } for _, tc := range testsCases { t.Run(tc.name, func(t *testing.T) { @@ -6464,6 +6477,25 @@ func mockedGetPrivateDNSDomainNameFromDHCPOptionsEmptyCalls(m *mocks.MockEC2APIM }, nil) } +func mockedGetPrivateDNSDomainNameFromDHCPOptionsErrorCalls(m *mocks.MockEC2APIMockRecorder) { + m.DescribeVpcs(context.TODO(), &ec2.DescribeVpcsInput{ + VpcIds: []string{"vpc-exists"}, + }).Return(&ec2.DescribeVpcsOutput{ + Vpcs: []types.Vpc{ + { + VpcId: aws.String("vpc-exists"), + CidrBlock: aws.String("10.0.0.0/16"), + IsDefault: aws.Bool(false), + State: types.VpcStateAvailable, + DhcpOptionsId: aws.String("dopt-12345678"), + }, + }, + }, nil) + m.DescribeDhcpOptions(context.TODO(), &ec2.DescribeDhcpOptionsInput{ + DhcpOptionsIds: []string{"dopt-12345678"}, + }).Return(nil, errors.New("some error")) +} + func TestGetCapacityReservationSpecification(t *testing.T) { mockCapacityReservationID := "cr-123" mockCapacityReservationIDPtr := &mockCapacityReservationID