Skip to content

Conversation

@amdonov
Copy link

@amdonov amdonov commented Nov 6, 2025

Fixes #7081

Description

In ISO regions the httpProtocolIPv6 feature is not supported. The current code correctly handles this by setting HTTPProtocolIPv6 to nil in unsupported regions. However, the EC2NodeClass spec still contains the default value for HTTPProtocolIPv6 (which is "disabled"). When the hash is calculated, it includes the entire Spec which has HTTPProtocolIPv6: "disabled". But when the launch template is created, HTTPProtocolIPv6 is set to nil (omitted). This creates a mismatch between what's in the NodeClass hash and what's actually deployed. This code properly sets the hash value for the NodeClass.

How was this change tested?

Unit tests

Does this change impact docs?

  • No

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@amdonov amdonov requested a review from a team as a code owner November 6, 2025 17:30
@amdonov amdonov requested a review from engedaam November 6, 2025 17:30
@netlify
Copy link

netlify bot commented Nov 6, 2025

Deploy Preview for karpenter-docs-prod canceled.

Name Link
🔨 Latest commit 6277903
🔍 Latest deploy log https://app.netlify.com/projects/karpenter-docs-prod/deploys/690cdb4c3b414f0008d88f21

Copy link
Contributor

@DerekFrank DerekFrank left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just some small comments, overall looks good!

)

// HTTPProtocolUnsupportedRegions contains regions that don't support HTTPProtocolIPv6
var HTTPProtocolUnsupportedRegions = []string{
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can keep this a Set and just refer to it in the amiprovider instead of turning the slice into a set

SlicesAsSets: true,
IgnoreZeroValue: true,
ZeroNil: true,
})))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to keep the .Hash() function around?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

v0.32.7 Failing MetadataOptions for IPv6 in ISO regions

2 participants