From 638391b52868ba97871c52324a9e9e7dc2ce59c1 Mon Sep 17 00:00:00 2001 From: Ganeshkumar Ashokavardhanan Date: Mon, 17 Aug 2026 14:18:58 -0700 Subject: [PATCH] chore(gpu): bump aks-gpu-grid to 570.237-20260817204535 Picks up the NVIDIA GRID driver bump merged in Azure/aks-gpu#179, which moved the GRID runfile from 570.211.01 to 570.237 (vGPU18.8 build for NVadsA10_v5). The published image tag is already mirrored to MCR. Note that 570.237 has only TWO version components, not the usual three. This is genuine, not a truncation: the runfile header reports version_string=570.237 and the image ships libnvidia-ml.so.570.237. That breaks pkg/agent/datamodel/gpu_components_test.go, where TestLoadConfig asserted ^\d+\.\d+\.\d+$ and failed on the new version. Relaxed to ^\d+(\.\d+)+$, mirroring the guard in the upstream aks-gpu repo. The matching .github/renovate.json regex fix (making the patch group optional so Renovate can parse the new tag) landed separately on main in #9380, so it is no longer part of this change. The Go parser in gpu_components.go needed no change: it splits on "-" into version and suffix and makes no assumption about component count. --- parts/common/components.json | 2 +- pkg/agent/datamodel/gpu_components_test.go | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/parts/common/components.json b/parts/common/components.json index dc35f8fb283..b9b23fcb987 100644 --- a/parts/common/components.json +++ b/parts/common/components.json @@ -741,7 +741,7 @@ "downloadURL": "mcr.microsoft.com/aks/aks-gpu-grid:*", "gpuVersion": { "renovateTag": "registry=https://mcr.microsoft.com, name=aks/aks-gpu-grid", - "latestVersion": "570.211.01-20260522192315" + "latestVersion": "570.237-20260817204535" } }, { diff --git a/pkg/agent/datamodel/gpu_components_test.go b/pkg/agent/datamodel/gpu_components_test.go index 9dc78b327fb..16de9ab7fb2 100644 --- a/pkg/agent/datamodel/gpu_components_test.go +++ b/pkg/agent/datamodel/gpu_components_test.go @@ -32,8 +32,12 @@ func TestLoadConfig(t *testing.T) { } // Define regular expressions for expected formats - versionRegex := `^\d+\.\d+\.\d+$` // match version strings in a format like "X.Y.Z", where each of X, Y, and Z are numbers. e.g., "550.90.12" - suffixRegex := `^\d{14}$` // match a string of exactly 14 digits, which can represent a timestamp e.g., "20241021235610" + // Match NVIDIA driver versions, which have two or more dot-separated numeric components. + // Most are three components ("550.90.12"), but NVIDIA also ships two-component vGPU builds + // (e.g. GRID "570.237"), so the third component must be optional. This mirrors the version + // guard in the upstream Azure/aks-gpu repo: ^[0-9]+(\.[0-9]+)+$ + versionRegex := `^\d+(\.\d+)+$` + suffixRegex := `^\d{14}$` // match a string of exactly 14 digits, which can represent a timestamp e.g., "20241021235610" // Compile the regular expressions versionPattern := regexp.MustCompile(versionRegex)