Populate role ARN from stack outputs on NoChangeError in pod identity update#8717
Open
cs-mehta wants to merge 1 commit intoeksctl-io:mainfrom
Open
Populate role ARN from stack outputs on NoChangeError in pod identity update#8717cs-mehta wants to merge 1 commit intoeksctl-io:mainfrom
cs-mehta wants to merge 1 commit intoeksctl-io:mainfrom
Conversation
IAMRoleUpdater.Update returns an empty roleArn to the caller when CFN has nothing to update and the config uses roleName (no roleARN). Pull the ARN from the existing stack outputs instead.
Contributor
|
Hello cs-mehta 👋 Thank you for opening a Pull Request in |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
Fixes #8718.
When
eksctl update podidentityassociationis run with a config that usesroleName(no explicitroleARN), and CloudFormation reports "nothing to update", theIAMRoleUpdater.Updatemethod returns an empty string as the role ARN. If something else still needs updating on the EKS side (e.g.disableSessionTags), this empty ARN gets sent toUpdatePodIdentityAssociation, which fails with a misleading "Cross-account pass role is not allowed" error.The problem is in the
NoChangeErrorhandler iniam_role_updater.go:The success path correctly resolves the ARN from CFN stack outputs via
populateRoleARN(rs, stack), but the no-change path skipped that. Thestackfrom the earlierDescribeStackcall is already in scope, so this fix just adds the samepopulateRoleARNcall.Trigger conditions (all four required):
roleName+permissionPolicyARNs(noroleARN)NoChangeErrordisableSessionTags)Checklist
README.md, or theuserdocsdirectory)area/nodegroup) and kind (e.g.kind/improvement)