Fix ManagedNodeGroup ignoring custom AMI if no user data is configured #1562
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When users specified a custom AMI for an EKS Managed Node Group, the setting was only taking effect if their configuration already triggered custom user data generation, otherwise it used the default AMI. To fix this, I modified the logic to generate custom user data whenever a custom AMI is configured. This ensures the node group launches successfully with proper bootstrap settings regardless of other configuration options (AWS EKS does not provide default user data if an AMI ID is specified in the launch template).
The previous E2E tests worked because they coincidentally used the same AMI ID as the default AMI. The updated test intentionally chooses an AMI for the previous minor version and verifies the EC2 instances are using this exact AMI.
Fixes #1550