Skip to content

[AKS] az aks nodepool add: Make --enable-managed-gpu generally available - #34268

Merged
JaysonTaiMicrosoft merged 9 commits into
Azure:devfrom
runzhen:runzhen/gpu-ga
Oct 27, 2026
Merged

JaysonTaiMicrosoft merged 9 commits into
Azure:devfrom
runzhen:runzhen/gpu-ga

Conversation

@runzhen

@runzhen runzhen commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

🤖 PR Validation — ❌ Action needed

Breaking Changes Tests Suppressions
❌ 1 ️✔️ 130/130 ️✔️ None
❌AzureCLI-BreakingChangeTest
❌acs
rule cmd_name rule_message suggest_message
❌ 1010 - ParaPropUpdate aks nodepool add cmd aks nodepool add update parameter spot_max_price: updated property default from nan to nan please change property default from nan to nan for parameter spot_max_price of cmd aks nodepool add
⚠️ 1006 - ParaAdd aks nodepool add cmd aks nodepool add added parameter enable_managed_gpu

Please submit your Breaking Change Pre-announcement ASAP if you haven't already. Please note:

  • Breaking changes can only be merged during the designated breaking change window
  • A pre-announcement must be released at least one month in advance

For more details on how to introduce breaking changes, refer to the documentation: azure-cli/doc/how_to_introduce_breaking_changes.md

Related command

az aks nodepool add --enable-managed-gpu

Description

az aks nodepool add --enable-managed-gpu fully managed gpu feature GA

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature


This checklist is used to make sure that common guidelines for a pull request are followed.

Copilot AI balanced review requested due to automatic review settings October 23, 2026 09:09
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@microsoft-github-policy-service microsoft-github-policy-service Bot added the customer-reported Issues that are reported by GitHub users external to the Azure organization. label Oct 23, 2026
@microsoft-github-policy-service

Copy link
Copy Markdown
Contributor

Thank you for your contribution runzhen! We will review the pull request and get back to you soon.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The new argument remains marked Preview despite the stated general availability release goal.

1 open issue
What changed in this PR

Adds managed GPU support to az aks nodepool add, targeting general availability within the existing AKS node pool configuration flow.

Changes:

  • Adds --enable-managed-gpu and configures managed NVIDIA components with GPU driver installation.
  • Documents the flag, its driver override behavior, and an example command.
  • Adds unit coverage and a live scenario for managed GPU node pools.
File Description
src/​azure-cli/​azure/​cli/​command_modules/​acs/​tests/​latest/​test_custom.py Tests request serialization and both wait modes.
src/​azure-cli/​azure/​cli/​command_modules/​acs/​tests/​latest/​test_aks_commands.py Adds a live managed GPU node pool scenario.
src/​azure-cli/​azure/​cli/​command_modules/​acs/​tests/​latest/​test_agentpool_decorator.py Tests flag handling, driver overrides, and profile preservation.
src/​azure-cli/​azure/​cli/​command_modules/​acs/​custom.py Accepts the managed GPU parameter.
src/​azure-cli/​azure/​cli/​command_modules/​acs/​agentpool_decorator.py Builds the managed GPU profile.
src/​azure-cli/​azure/​cli/​command_modules/​acs/​_params.py Registers the new CLI flag.
src/​azure-cli/​azure/​cli/​command_modules/​acs/​_help.py Documents managed GPU behavior and usage.
src/​azure-cli/​azure/​cli/​command_modules/​acs/​_consts.py Defines the managed GPU mode constant.

Review effort: Balanced

Comment thread src/azure-cli/azure/cli/command_modules/acs/_params.py Outdated
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 3 pipeline(s).

@x-engineering-agent

Copy link
Copy Markdown
Contributor

Hi runzhen,
Since the current milestone time is less than 7 days, this pr will be reviewed in the next milestone.

@runzhen runzhen changed the title feat: az aks nodepool add --enable-managed-gpu GA [AKS] az aks nodepool add --enable-managed-gpu GA Oct 23, 2026
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 3 pipeline(s).

@runzhen runzhen changed the title [AKS] az aks nodepool add --enable-managed-gpu GA [AKS] az aks nodepool add: Make --enable-managed-gpu generally available Oct 23, 2026
FumingZhang
FumingZhang previously approved these changes Oct 26, 2026

@FumingZhang FumingZhang left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

  1. please fix failed CI check
  2. please provide a screenshot showing the newly added live test passing as proof

…run from WSL or Git Bash on Windows (Azure#34236)

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: e8fa45af-9457-40bb-b8c7-3b159937f2e4
Co-authored-by: Mansoor Sarfraz <msarfraz+microsoft@microsoft.com>
… destination default change (Azure#34243)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3e1ad886-b3d9-4709-9d70-1264544608e5
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 3 pipeline(s).

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 3 pipeline(s).

@runzhen

runzhen commented Oct 26, 2026

Copy link
Copy Markdown
Contributor Author

Hi FumingZhang , below is the live test result

 AZURE_TEST_RUN_LIVE=1 /workspace/venv/bin/python -m pytest \
   src/azure-cli/azure/cli/command_modules/acs/tests/latest/test_aks_commands.py::AzureKubernetesServiceScenarioTest::test_aks_nodepool_add_with_enable_managed_gpu \
   -v
=================================================================================== test session starts ===================================================================================
platform linux -- Python 3.12.3, pytest-9.1.1, pluggy-1.6.0 -- /workspace/venv/bin/python
cachedir: .pytest_cache
rootdir: /workspace/azure-cli/src/azure-cli
configfile: pyproject.toml
plugins: anyio-4.14.1, xdist-3.8.0, forked-1.7.5
collected 1 item

src/azure-cli/azure/cli/command_modules/acs/tests/latest/test_aks_commands.py::AzureKubernetesServiceScenarioTest::test_aks_nodepool_add_with_enable_managed_gpu PASSED             [100%]

==================================================================================== warnings summary =====================================================================================
azure/cli/command_modules/acs/tests/latest/test_aks_commands.py::AzureKubernetesServiceScenarioTest::test_aks_nodepool_add_with_enable_managed_gpu
  /workspace/azure-cli/src/azure-cli-testsdk/azure/cli/testsdk/preparers.py:88: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    'date': datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ'),

azure/cli/command_modules/acs/tests/latest/test_aks_commands.py::AzureKubernetesServiceScenarioTest::test_aks_nodepool_add_with_enable_managed_gpu
  /workspace/venv/lib/python3.12/site-packages/dateutil/tz/tz.py:37: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
    EPOCH = datetime.datetime.utcfromtimestamp(0)

azure/cli/command_modules/acs/tests/latest/test_aks_commands.py::AzureKubernetesServiceScenarioTest::test_aks_nodepool_add_with_enable_managed_gpu
azure/cli/command_modules/acs/tests/latest/test_aks_commands.py::AzureKubernetesServiceScenarioTest::test_aks_nodepool_add_with_enable_managed_gpu
  /workspace/azure-cli/src/azure-cli-core/azure/cli/core/telemetry.py:310: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    _session.poll_start_time = datetime.datetime.utcnow()

azure/cli/command_modules/acs/tests/latest/test_aks_commands.py::AzureKubernetesServiceScenarioTest::test_aks_nodepool_add_with_enable_managed_gpu
azure/cli/command_modules/acs/tests/latest/test_aks_commands.py::AzureKubernetesServiceScenarioTest::test_aks_nodepool_add_with_enable_managed_gpu
  /workspace/azure-cli/src/azure-cli-core/azure/cli/core/telemetry.py:315: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    _session.poll_end_time = datetime.datetime.utcnow()

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
======================================================================== 1 passed, 6 warnings in 603.21s (0:10:03) ========================================================================

@JaysonTaiMicrosoft

Copy link
Copy Markdown
Contributor

The spot_max_price breaking change appears to be a false positive.

  1. We have reviewed the changes and none of the changes are associated with the parameter to warrant a breaking change
  2. Previous merged pull requests also indicate this to be false positive [AKS] az aks nodepool add/update: Add --enable-managed-dranet parameter #34003
  3. Confirmed nan != nan in IEEE 754 floating-point standard, as the nan can come from potentially different sources leading to the diff failure.

@JaysonTaiMicrosoft
JaysonTaiMicrosoft merged commit 3d6c9a9 into Azure:dev Oct 27, 2026
52 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

act-observability-squad AKS az aks/acs/openshift Auto-Assign Auto assign by bot customer-reported Issues that are reported by GitHub users external to the Azure organization.

Projects

None yet

Development

Successfully merging this pull request may close these issues.