chore(gpu): rename RTX PRO 6000 BSE v6 SKUs from preview to GA names#8852
chore(gpu): rename RTX PRO 6000 BSE v6 SKUs from preview to GA names#8852ganeshkumarashok wants to merge 3 commits into
Conversation
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
There was a problem hiding this comment.
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. |
| 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, |
There was a problem hiding this comment.
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.
| 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)) | ||
| }) |
There was a problem hiding this comment.
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
| 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. |
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.
Standard_NC128ds_xl_RTXPRO6000BSE_v6Standard_NC144ds_xl_RTXPRO6000BSE_v6Standard_NC128lds_xl_RTXPRO6000BSE_v6Standard_NC144lds_xl_RTXPRO6000BSE_v6Standard_NC256ds_xl_RTXPRO6000BSE_v6Standard_NC288ds_xl_RTXPRO6000BSE_v6Standard_NC256lds_xl_RTXPRO6000BSE_v6Standard_NC288lds_xl_RTXPRO6000BSE_v6Standard_NC320ds_xl_RTXPRO6000BSE_v6Standard_NC288ds_xl_RTXPRO6000BSE_v6Standard_NC320lds_xl_RTXPRO6000BSE_v6Standard_NC288lds_xl_RTXPRO6000BSE_v66 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.go—RTXPro6000GPUDriverSizesnow lists the 4 GA sizes.pkg/agent/baker_test.go— GPU driver/type/image-SHA tests use GA names.e2e/scenario_test.go—Test_Ubuntu2404_GPU_RTXPro6000_GridV20usesStandard_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).NVIDIA_GPU_DRIVER_TYPE=grid-v20(unchanged); the SKU string is illustrative.