Skip to content

chore(gpu): rename RTX PRO 6000 BSE v6 SKUs from preview to GA names#8852

Open
ganeshkumarashok wants to merge 3 commits into
mainfrom
ganesh/rtxpro6000-ga-sku-rename
Open

chore(gpu): rename RTX PRO 6000 BSE v6 SKUs from preview to GA names#8852
ganeshkumarashok wants to merge 3 commits into
mainfrom
ganesh/rtxpro6000-ga-sku-rename

Conversation

@ganeshkumarashok

Copy link
Copy Markdown
Contributor

What

The NC_RTXPRO6000BSE_v6 (NCv6, RTX PRO 6000 Blackwell Server Edition) VM
family transitioned from preview to GA, and Azure renamed the VM sizes.
This updates the grid-v20 driver selection map and every reference to the
new GA names.

Preview (removed) GA (new)
Standard_NC128ds_xl_RTXPRO6000BSE_v6 Standard_NC144ds_xl_RTXPRO6000BSE_v6
Standard_NC128lds_xl_RTXPRO6000BSE_v6 Standard_NC144lds_xl_RTXPRO6000BSE_v6
Standard_NC256ds_xl_RTXPRO6000BSE_v6 Standard_NC288ds_xl_RTXPRO6000BSE_v6
Standard_NC256lds_xl_RTXPRO6000BSE_v6 Standard_NC288lds_xl_RTXPRO6000BSE_v6
Standard_NC320ds_xl_RTXPRO6000BSE_v6 Standard_NC288ds_xl_RTXPRO6000BSE_v6
Standard_NC320lds_xl_RTXPRO6000BSE_v6 Standard_NC288lds_xl_RTXPRO6000BSE_v6

6 preview sizes collapse to 4 GA sizes (256 and 320 both map to 288).

Why

Per the NCv6 GA transition docs,
the preview sizes (128/256/320 vCPU) "will no longer work correctly and will
not be covered under Azure SLA". Only the new GA sizes deploy. The original
preview names were added in #8666.

Changes

  • pkg/agent/datamodel/gpu_components.goRTXPro6000GPUDriverSizes now lists the 4 GA sizes.
  • pkg/agent/baker_test.go — GPU driver/type/image-SHA tests use GA names.
  • e2e/scenario_test.goTest_Ubuntu2404_GPU_RTXPro6000_GridV20 uses Standard_NC144ds_xl_RTXPRO6000BSE_v6.
  • spec/.../cse_install_mariner_spec.sh, cse_install_acl_spec.sh — mock SKU updated.

Testing

  • go test ./pkg/agent/... — pass.
  • GENERATE_TEST_DATA=true go test ./pkg/agent/... — no snapshot diff (driver map only; no snapshot references these SKUs).
  • gofmt clean. Shell spec assertions key on NVIDIA_GPU_DRIVER_TYPE=grid-v20 (unchanged); the SKU string is illustrative.

NCv6 (NC_RTXPRO6000BSE_v6) transitioned from preview to GA and the VM
sizes were renamed. Update the grid-v20 driver selection map and all
references accordingly:

  NC128ds_xl  -> NC144ds_xl
  NC128lds_xl -> NC144lds_xl
  NC256ds_xl  -> NC288ds_xl
  NC256lds_xl -> NC288lds_xl
  NC320ds_xl  -> NC288ds_xl
  NC320lds_xl -> NC288lds_xl

The preview sizes (128/256/320 vCPU) no longer deploy and are out of
SLA per the NCv6 GA transition docs.

Ref: https://learn.microsoft.com/azure/virtual-machines/sizes/gpu-accelerated/nc-rtxpro6000-bse-v6-series-overview#faqs

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.

Pull request overview

Updates AgentBaker’s RTX PRO 6000 BSE v6 SKU handling to reflect Azure’s NCv6 rename from preview SKUs to GA SKUs, ensuring GRID v20 driver selection and related tests use the new GA VM size strings.

Changes:

  • Replace RTX PRO 6000 BSE v6 preview SKU strings (NC128/256/320…) with GA SKU strings (NC144/288…) in the GRID v20 selection map.
  • Update Go unit tests and the Ubuntu 24.04 e2e scenario to use the GA VM size names.
  • Update ShellSpec mocks for Mariner/ACL negative-path guards to use a GA SKU string.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
spec/parts/linux/cloud-init/artifacts/cse_install_mariner_spec.sh Updates mocked RTX PRO 6000 BSE v6 SKU to a GA name for the non-Ubuntu guard test.
spec/parts/linux/cloud-init/artifacts/cse_install_acl_spec.sh Updates mocked RTX PRO 6000 BSE v6 SKU to a GA name for the non-Ubuntu guard test.
pkg/agent/datamodel/gpu_components.go Replaces preview RTX PRO 6000 BSE v6 SKU list with GA SKU list for GRID v20 driver selection.
pkg/agent/baker_test.go Updates GPU driver/version/SHA unit tests to use GA SKU names.
e2e/scenario_test.go Updates Ubuntu 24.04 GRID v20 e2e scenario to request the GA SKU name.

Comment on lines 134 to +138
var RTXPro6000GPUDriverSizes = map[string]bool{
"standard_nc128ds_xl_rtxpro6000bse_v6": true,
"standard_nc128lds_xl_rtxpro6000bse_v6": true,
"standard_nc256ds_xl_rtxpro6000bse_v6": true,
"standard_nc256lds_xl_rtxpro6000bse_v6": true,
"standard_nc320ds_xl_rtxpro6000bse_v6": true,
"standard_nc320lds_xl_rtxpro6000bse_v6": true,
"standard_nc144ds_xl_rtxpro6000bse_v6": true,
"standard_nc144lds_xl_rtxpro6000bse_v6": true,
"standard_nc288ds_xl_rtxpro6000bse_v6": true,
"standard_nc288lds_xl_rtxpro6000bse_v6": true,

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Good call — done in 6292819. Kept all six preview NC128/256/320 RTXPRO6000BSE_v6 names in RTXPro6000GPUDriverSizes as backward-compat aliases alongside the GA names, so an older node pool/template reporting a preview size still selects grid-v20 (same physical GPU) instead of falling back to cuda-lts. Updated the doc comment to explain.

Comment thread pkg/agent/baker_test.go
Comment on lines 995 to 998
It("should use newest AKSGPUGridV20VersionSuffix with rtx pro 6000 bse v6", func() {
Expect(GetAKSGPUImageSHA("standard_nc128ds_xl_rtxpro6000bse_v6")).To(Equal(datamodel.AKSGPUGridV20VersionSuffix))
Expect(GetAKSGPUImageSHA("standard_nc128lds_xl_rtxpro6000bse_v6")).To(Equal(datamodel.AKSGPUGridV20VersionSuffix))
Expect(GetAKSGPUImageSHA("standard_nc144ds_xl_rtxpro6000bse_v6")).To(Equal(datamodel.AKSGPUGridV20VersionSuffix))
Expect(GetAKSGPUImageSHA("standard_nc144lds_xl_rtxpro6000bse_v6")).To(Equal(datamodel.AKSGPUGridV20VersionSuffix))
})

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done in 6292819 — added NC288ds and NC288lds assertions to the GetAKSGPUImageSHA test (and a preview-alias assertion in the GetGPUDriverType test to lock the backward-compat behavior).

Address PR review feedback:
- Keep the preview NC128/256/320 RTXPRO6000BSE_v6 names in
  RTXPro6000GPUDriverSizes alongside the GA names so grid-v20 driver
  selection stays correct if an older node pool/template still reports a
  preview size (same physical GPU). Dropping them would fall back to
  cuda-lts and install the wrong driver.
- Add NC288 assertions to the GetAKSGPUImageSHA test and a preview-alias
  assertion to the GetGPUDriverType test.
GA didn't only rename the preview sizes (128/256/320 -> 144/288); it also
introduced smaller fractional-GPU sizes. Per the GA VM-sizes docs the family
is NC36/72/144/288ds (General Purpose) and NC24/36/72/144/288lds (Compute
Optimized) - all backed by the same RTX PRO 6000 Blackwell GPU and all
requiring the grid-v20 (595.x) driver.

Add the missing smaller GA sizes to RTXPro6000GPUDriverSizes so they select
grid-v20 instead of falling back to cuda-lts, and add coverage for a
fractional size in the driver-version test.

Ref: https://learn.microsoft.com/azure/virtual-machines/sizes/gpu-accelerated/nc-rtxpro6000-bse-v6-series
Copilot AI review requested due to automatic review settings July 7, 2026 22:28

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.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Comment on lines +135 to +139
Post-GA the sizes were renamed (128->144, 256/320->288 vCPU) and smaller sizes
were added. The GA names are the primary entries; the original preview names
are retained as backward-compat aliases so driver selection stays correct if an
older node pool or template still reports them (same physical GPU, same grid-v20
driver). Azure no longer deploys the preview sizes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants