From 0abb30d72a7d29702c2796148cedc75b0c260c80 Mon Sep 17 00:00:00 2001 From: Chet Nichols III Date: Fri, 28 Aug 2026 17:43:01 -0700 Subject: [PATCH 1/2] patch(v2.1): pull in additional PNs to GB200xBF3 mlxconfig profile GB200 B3240 devices can report `PN0` in bootstrap Redfish data and `P_Ax` after Scout records the device identity. Neither value is in the v2.1 selector, so both provisioning paths can retain the generic BF3 profile on matching GB200 racks. Accept both values through the shared selector while preserving the separate GB200 rack check and rejecting other B3240 prefixes. This supports https://github.com/NVIDIA/infra-controller/issues/5545 (cherry picked from commit 042a81c26899b6457097c0085b012a72d7a79bf4) Signed-off-by: Chet Nichols III --- crates/libmlx-model/src/nvconfig.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/crates/libmlx-model/src/nvconfig.rs b/crates/libmlx-model/src/nvconfig.rs index 3475e4a8cf..64bf3a4119 100644 --- a/crates/libmlx-model/src/nvconfig.rs +++ b/crates/libmlx-model/src/nvconfig.rs @@ -43,10 +43,12 @@ const GB200_B3240_V1_PARAMETERS: [&str; 18] = [ "PCI_SWITCH0_UPSTREAM_PORT_PEX=0", ]; -const GB200_B3240_PART_NUMBERS: [&str; 3] = [ +const GB200_B3240_PART_NUMBERS: [&str; 5] = [ "900-9D3B6-00CN-AB0", "900-9D3B6-00CN-PA0", "900-9D3B6-00SN-AB0", + "900-9D3B6-00CN-PN0", + "900-9D3B6-00CN-P_Ax", ]; /// `DpuNvConfigProfile` identifies a fixed version of platform mlxconfig values. @@ -59,9 +61,10 @@ pub enum DpuNvConfigProfile { impl DpuNvConfigProfile { /// Returns the GB200 profile for an exact supported B3240 part number. /// - /// Accepted part numbers are `900-9D3B6-00CN-AB0`, `900-9D3B6-00SN-AB0`, - /// and `900-9D3B6-00CN-PA0`. Surrounding whitespace and ASCII letter case - /// are ignored. The caller must separately verify that the DPU belongs to a + /// Accepted identities are `900-9D3B6-00CN-AB0`, `900-9D3B6-00SN-AB0`, + /// `900-9D3B6-00CN-PA0`, `900-9D3B6-00CN-PN0`, and + /// `900-9D3B6-00CN-P_Ax`. Surrounding whitespace and ASCII letter case are + /// ignored. The caller must separately verify that the DPU belongs to a /// GB200 rack. Broader B3240 product prefixes are not accepted. pub fn for_gb200_b3240_part_number(part_number: &str) -> Option { let part_number = part_number.trim(); @@ -90,10 +93,12 @@ mod tests { fn gb200_b3240_profile_requires_an_exact_supported_part_number() { value_scenarios!( run = DpuNvConfigProfile::for_gb200_b3240_part_number; - "supported part numbers" { + "supported identities" { "900-9D3B6-00CN-AB0" => Some(DpuNvConfigProfile::Gb200B3240V1), "900-9D3B6-00SN-AB0" => Some(DpuNvConfigProfile::Gb200B3240V1), "900-9D3B6-00CN-PA0" => Some(DpuNvConfigProfile::Gb200B3240V1), + "900-9D3B6-00CN-PN0" => Some(DpuNvConfigProfile::Gb200B3240V1), + "900-9D3B6-00CN-P_Ax" => Some(DpuNvConfigProfile::Gb200B3240V1), " 900-9d3b6-00cn-pa0\n" => Some(DpuNvConfigProfile::Gb200B3240V1), } From e53704c481ad926edf92cd28322d23b00e4e4924 Mon Sep 17 00:00:00 2001 From: Chet Nichols III Date: Fri, 28 Aug 2026 18:25:51 -0700 Subject: [PATCH 2/2] fix(ci): keep v2.1 checks on compatible build containers The v2.1 integration tests still invoke `grpcurl`. #5386 removed it from `main`'s build containers, so release checks that do not rebuild a base container pull `latest` and fail before the integration tests start. Use the existing `v2.1-latest` x86_64 and aarch64 tags for canonical v2.1 checks. Those tags were built from the v2.1 Dockerfiles that still install `grpcurl`, while a Dockerfile change continues to select the versioned image produced by that run. Mirrors continue using the `latest` tag from their configured source registry. This supports https://github.com/NVIDIA/infra-controller/issues/5545 Signed-off-by: Chet Nichols III --- .github/workflows/ci.yaml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 69babe2a46..df2a831c71 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -430,13 +430,22 @@ jobs: MAJOR_MINOR=$(echo "${VERSION}" | cut -d. -f1,2) echo "major_minor_version=${MAJOR_MINOR}" >> "$GITHUB_OUTPUT" + # `release/v2.1` integration tests still invoke `grpcurl`, which + # `main`'s build containers no longer include. Keep canonical v2.1 + # checks on `v2.1-latest`; mirrors continue using the `latest` tag from + # their configured source registry. + build_container_fallback_version=latest + if [[ "${GITHUB_REPOSITORY}" == "NVIDIA/infra-controller" && "${MAJOR_MINOR}" == "v2.1" ]]; then + build_container_fallback_version="${MAJOR_MINOR}-latest" + fi + if [[ "$build_container_x86_64_run" == "true" ]]; then echo "build_container_x86_64_version=${VERSION}" >> "$GITHUB_OUTPUT" echo "build_container_x86_64_ref=${TARGET_REGISTRY}/build-container-x86_64:${VERSION}" >> "$GITHUB_OUTPUT" echo "build_container_x86_64_version_latest=${TARGET_REGISTRY}/build-container-x86_64:${MAJOR_MINOR}-latest" >> "$GITHUB_OUTPUT" else - echo "build_container_x86_64_version=latest" >> "$GITHUB_OUTPUT" - echo "build_container_x86_64_ref=${SOURCE_REGISTRY}/build-container-x86_64:latest" >> "$GITHUB_OUTPUT" + echo "build_container_x86_64_version=${build_container_fallback_version}" >> "$GITHUB_OUTPUT" + echo "build_container_x86_64_ref=${SOURCE_REGISTRY}/build-container-x86_64:${build_container_fallback_version}" >> "$GITHUB_OUTPUT" echo "build_container_x86_64_version_latest=" >> "$GITHUB_OUTPUT" fi @@ -455,8 +464,8 @@ jobs: echo "build_container_aarch64_ref=${TARGET_REGISTRY}/build-container-aarch64:${VERSION}" >> "$GITHUB_OUTPUT" echo "build_container_aarch64_version_latest=${TARGET_REGISTRY}/build-container-aarch64:${MAJOR_MINOR}-latest" >> "$GITHUB_OUTPUT" else - echo "build_container_aarch64_version=latest" >> "$GITHUB_OUTPUT" - echo "build_container_aarch64_ref=${SOURCE_REGISTRY}/build-container-aarch64:latest" >> "$GITHUB_OUTPUT" + echo "build_container_aarch64_version=${build_container_fallback_version}" >> "$GITHUB_OUTPUT" + echo "build_container_aarch64_ref=${SOURCE_REGISTRY}/build-container-aarch64:${build_container_fallback_version}" >> "$GITHUB_OUTPUT" echo "build_container_aarch64_version_latest=" >> "$GITHUB_OUTPUT" fi