Fix imds setting for multiple enis on ipv6 #1275
Merged
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.
Issue #, if available:
Closes #1103 .
Description of changes:
This changes the imds metadata path to choose the latest/meta-data/mac rather than the network interfaces level which can incorrectly label the node ip field of the kubelet args when an ipv6 instance has multiple ENIs. The incorrect latest/meta-data/network/interfaces/macs/ will not guarantee eth0 as the mac address choice causing the below errors.
This will resolve the following kubectl error when trying to view pod logs on an ipv6 incorrectly configured instance:
Or in the kubelet logs it will say:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Testing Done
I've modified this line using patch on my user_data script to this new imds path to ensure the functionality works as intended.
See this guide for recommended testing for PRs. Some tests may not apply. Completing tests and providing additional validation steps are not required, but it is recommended and may reduce review time and time to merge.