-
Notifications
You must be signed in to change notification settings - Fork 170
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WI/MI CLI Phase 1 - Base Update Functionality #3709
WI/MI CLI Phase 1 - Base Update Functionality #3709
Conversation
Please rebase pull request. |
9e978e8
to
65c8954
Compare
65c8954
to
d9f1d08
Compare
Sorry for the silly question, but why don't we support changing MI when updating? |
The RP backend is not planning to support that ability right away, (to my understanding) it's more complex than just changing coordinates. Rather than building in something to the CLI that would prevent that, just to remove it later once the RP does support it, I am proposing we just allow the CLI to attempt to replace an identity and have the API reject the request with a user-facing error, the resulting user experience will be largely the same (potentially a few milliseconds slower). |
I understand that changing MI is not in the scope as well as changing WI. |
/azp run ci |
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM overall, but I think I found a semantic error we should fix.
Also, I agree that the logic preventing updates to existing MIs can go in the RP, and we have a ticket to track this issue: https://issues.redhat.com/browse/ARO-9382
… same create/update invocation
…tself contain duplicates
/azp run ci |
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm!
* Add --assign-platform-wi flag to az aro update * Fix nil pointer dereference when converting Identity structs on API * Restructure update command to make branching logic more clear * Remove duplicate test * Disallow passing in duplicate platform workload identities within the same create/update invocation * Ensure reported duplicate platform_workload_identities list doesn't itself contain duplicates
* Add --assign-platform-wi flag to az aro update * Fix nil pointer dereference when converting Identity structs on API * Restructure update command to make branching logic more clear * Remove duplicate test * Disallow passing in duplicate platform workload identities within the same create/update invocation * Ensure reported duplicate platform_workload_identities list doesn't itself contain duplicates
* Add --assign-platform-wi flag to az aro update * Fix nil pointer dereference when converting Identity structs on API * Restructure update command to make branching logic more clear * Remove duplicate test * Disallow passing in duplicate platform workload identities within the same create/update invocation * Ensure reported duplicate platform_workload_identities list doesn't itself contain duplicates
* Add --assign-platform-wi flag to az aro update * Fix nil pointer dereference when converting Identity structs on API * Restructure update command to make branching logic more clear * Remove duplicate test * Disallow passing in duplicate platform workload identities within the same create/update invocation * Ensure reported duplicate platform_workload_identities list doesn't itself contain duplicates
Which issue this PR addresses:
Fixes ARO-6451
What this PR does / why we need it:
Implements the ability to set additional platform workload identities on a managed identity-enabled cluster via
az aro update
.Test plan for issue:
--assign-platform-workload-identity
argument have been updated to account for update scenariosaz aro update
against a MIWI cluster results in an API call being made to the RP with the necessary fields populatedExample invocation:
Against cluster w/ document:
Open
Produces request body:
Open
Note
The current implementation of this command allows users to replace existing platform workload identities.
We have outlined in our CLI design doc that this behavior is not supported at this time but may be in the future. We can choose to either explicitly prevent updating existing identities within the CLI right now, or to make that API-side validation only, that can be relaxed in the future without pushing a corresponding CLI change.
Is there any documentation that needs to be updated for this PR?
Not yet
How do you know this will function as expected in production?
Preview extension-only change. We will perform comprehensive testing before releasing this extension to users.