-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
[ARO] az aro update
: Fix update for clusters created with subnets that are now deleted
#31039
base: dev
Are you sure you want to change the base?
[ARO] az aro update
: Fix update for clusters created with subnets that are now deleted
#31039
Conversation
️✔️AzureCLI-FullTest
|
️✔️AzureCLI-BreakingChangeTest
|
Thank you for your contribution! We will review the pull request and get back to you soon. |
The git hooks are available for azure-cli and azure-cli-extensions repos. They could help you run required checks before creating the PR. Please sync the latest code with latest dev branch (for azure-cli) or main branch (for azure-cli-extensions). pip install azdev --upgrade
azdev setup -c <your azure-cli repo path> -r <your azure-cli-extensions repo path>
|
Thank you for your contribution tsatam! We will review the pull request and get back to you soon. |
Related command
az aro update
Description
The current implementation of the
ensure_resource_permissions
function, called duringaz aro create
andaz aro update --refresh-credentials
, and which is responsible for ensuring an ARO cluster's service principal has the required permissions over the cluster's network resources (vnet, subnet, route tables, NAT Gateways, NSGs), has a bug where if a cluster was either created with a specific subnet provided for the worker nodes that has since been deleted, or the cluster currently has an invalid machineset pointing to a nonexistent subnet (e.g. following the instructions in https://learn.microsoft.com/en-us/azure/openshift/howto-segregate-machinesets incorrectly), we will fail to ensure the required resource permissions over this nonexistent subnet. We retrieve each subnet to obtain the resource IDs of any attached route tables, NAT gateways, and NSGs, in order to ensure we have the required role assignment scoped to that resource.This PR changes the above approach to skip any such subnets, allowing this process to complete successfully. We expect all passed-in subnets to exist at cluster creation time, so this change should only impact
az aro update
(other validation during the creation process ensures that all passed-in subnets exist).Testing Guide
In order to reproduce this scenario, one would need to create an ARO cluster, and then create a machineset pointing to an invalid subnet, by following https://learn.microsoft.com/en-us/azure/openshift/howto-segregate-machinesets. The
az aro update
command should work successfully with this change applied.History Notes
[ARO]
az aro update
: Ensure that refreshing cluster service principal credentials is successful when the cluster has an invalid or missing subnet in its resource definitionThis checklist is used to make sure that common guidelines for a pull request are followed.
The PR title and description has followed the guideline in Submitting Pull Requests.
I adhere to the Command Guidelines.
I adhere to the Error Handling Guidelines.