-
Notifications
You must be signed in to change notification settings - Fork 1.5k
[AKS] implement enable/disable flags for user-defined scheduler configuration #9066
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
[AKS] implement enable/disable flags for user-defined scheduler configuration #9066
Conversation
|
| rule | cmd_name | rule_message | suggest_message |
|---|---|---|---|
| aks create | cmd aks create added parameter enable_upstream_kubescheduler_user_configuration |
||
| aks update | cmd aks update added parameter disable_upstream_kubescheduler_user_configuration |
||
| aks update | cmd aks update added parameter enable_upstream_kubescheduler_user_configuration |
|
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! We will review the pull request and get back to you soon. |
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 implements enable/disable flags for user-defined scheduler configuration in AKS clusters. It adds the ability to configure the kube-scheduler upstream to use custom CRD-based configuration instead of the default configuration.
- Add support for enabling user-defined scheduler configuration during cluster creation and updates
- Add support for disabling user-defined scheduler configuration during cluster updates
- Implement mutual exclusivity validation to prevent conflicting enable/disable flags
Reviewed Changes
Copilot reviewed 9 out of 12 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| setup.py | Bumps extension version to 18.0.0b27 |
| linter_exclusions.yml | Adds exclusions for long option names for the new scheduler flags |
| test_managed_cluster_decorator.py | Adds comprehensive unit tests for scheduler configuration functions |
| test_aks_commands.py | Adds integration tests for create and update commands with scheduler flags |
| managed_cluster_decorator.py | Implements core logic for scheduler profile configuration in create/update decorators |
| custom.py | Adds new parameters to aks_create and aks_update function signatures |
| _params.py | Defines CLI argument specifications for the new scheduler flags |
| _help.py | Adds help documentation for the new scheduler configuration options |
| HISTORY.rst | Documents the new feature in the changelog |
|
206d3a4 to
1f15f63
Compare
Signed-off-by: Pedro Tôrres <[email protected]>
1f15f63 to
ba14196
Compare
|
/azp run |
|
Azure Pipelines successfully started running 2 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.
Queued live test to validate the change, test passed!
- test_aks_create_with_enable_upstream_kubescheduler_user_configuration
- test_aks_update_with_enable_upstream_kubescheduler_user_configuration
- test_aks_update_with_disable_upstream_kubescheduler_user_configuration
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
|
[Release] Update index.json for extension [ aks-preview-18.0.0b27 ] : https://dev.azure.com/msazure/One/_build/results?buildId=134296776&view=results |

This checklist is used to make sure that common guidelines for a pull request are followed.
Related command
az aks create --subscription="${SUBSCRIPTION_ID}" --resource-group="${RESOURCEGROUP_NAME}" --location="${AZURE_LOCATION}" --name="${CLUSTER_NAME}" --kubernetes-version="${KUBERNETES_VERSION}" --enable-upstream-kubescheduler-user-configurationaz aks update --subscription="${SUBSCRIPTION_ID}" --resource-group="${RESOURCEGROUP_NAME}" --name="${CLUSTER_NAME}" --enable-upstream-kubescheduler-user-configurationaz aks update --subscription="${SUBSCRIPTION_ID}" --resource-group="${RESOURCEGROUP_NAME}" --name="${CLUSTER_NAME}" --disable-upstream-kubescheduler-user-configurationGeneral 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.