-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Fix operations on automatic clusters #9382
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
Conversation
️✔️Azure CLI Extensions Breaking Change Test
|
|
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>
|
|
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.
Pull Request Overview
This PR fixes a NoneType error that occurs when performing operations on automatic AKS clusters with hosted system components enabled. These clusters may not have agent pool profiles, so the code needs to handle None or empty agent_pool_profiles gracefully.
Key changes:
- Added defensive checks for empty/None
agent_pool_profilesacross multiple functions - Moved validation logic to execute only when operations actually require agent pool profiles
- Added a new
update_agentpool_profilemethod with special handling for automatic clusters
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| setup.py | Bumped version to 19.0.0b10 |
| HISTORY.rst | Added release notes for version 19.0.0b10 |
| managed_cluster_decorator.py | Added update_agentpool_profile method and moved validation checks to be conditional |
| custom.py | Added defensive checks and guards for empty agent_pool_profiles in multiple functions |
Comments suppressed due to low confidence (1)
src/aks-preview/azext_aks_preview/custom.py:1575
- The
len()call will fail with aTypeErrorifinstance.agent_pool_profilesisNone. This check should use(instance.agent_pool_profiles or [])like the iteration on line 1581, or validate thatagent_pool_profilesis notNonebefore callinglen().
if len(instance.agent_pool_profiles) > 1 and nodepool_name == "":
4835054 to
e13285c
Compare
|
Could you add some test cases for this PR change? |
e13285c to
6ee7ce1
Compare
CodeGen Tools Feedback CollectionThank you for using our CodeGen tool. We value your feedback, and we would like to know how we can improve our product. Please take a few minutes to fill our codegen survey |
|
@zhoxing-ms yes I have added unit tests for the change, thank you! |
|
[Release] Update index.json for extension [ aks-preview-19.0.0b15 ] : https://dev.azure.com/msazure/One/_build/results?buildId=143195860&view=results |
…sters that have hosted system components enabled.
Automatic cluster with hosted system components enabled may have empty agentpool profiles. Fix the related code for update/upgrade operations.
This checklist is used to make sure that common guidelines for a pull request are followed.
Related command
General Guidelines
azdev style <YOUR_EXT>locally? (pip install azdevrequired)python scripts/ci/test_index.py -qlocally? (pip install wheel==0.30.0required)For new extensions:
About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update
src/index.jsonautomatically.You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify
src/index.json.