backport: minimal SMC GB300 support (#4121) to release/v2.1 - #4645
backport: minimal SMC GB300 support (#4121) to release/v2.1#4645huaweic-nv wants to merge 4 commits into
Conversation
This PR adds minimal support for OpenBMC-based Supermicro GB300 systems and bumps libredfish to `v0.46.3` for the required platform support which brings in the following changes: - feat: minimal SMC GB300 support by @krish-nvidia in NVIDIA/libredfish#111 - fix: pick the correct manager/system on multi-system, multi-chassis hosts by @shevchenko-evgeny in NVIDIA/libredfish#108 Validated on a real SMC GB300. ## Related issues #1909 ## Type of Change - [x] **Add** - New feature or capability - [ ] **Change** - Changes in existing functionality - [ ] **Fix** - Bug fixes - [ ] **Remove** - Removed features or deprecated functionality - [ ] **Internal** - Internal changes (refactoring, tests, docs, etc.) ## Breaking Changes - [ ] **This PR contains breaking changes** ## Testing - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [x] Manual testing performed - [ ] No testing required (docs, internal refactor, etc.) ## Additional Notes --------- Signed-off-by: Krish Dandiwala <kdandiwala@nvidia.com>
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
🔐 TruffleHog Secret Scan✅ No secrets or credentials found! Your code has been scanned for 700+ types of secrets and credentials. All clear! 🎉 🕐 Last updated: 2026-08-06 02:56:46 UTC | Commit: bb7ff72 |
forge-scout-network.sh ran its readiness checks once, immediately, and exited 0 when the interface was absent, had no carrier, or had no address. On multi-NIC hosts the kernel probes PCI devices in domain order, so the boot NIC can appear tens of seconds into boot -- on a GB300 tray the BlueField-3 is domain 0016 and is probed after four ConnectX-8s, ~24s in, while the loader invokes the script at ~9s. The filter therefore silently no-opped on exactly the hosts it exists to serve, leaving every NIC running DHCP: competing default routes, and an unreachable provisioning server. Poll for the interface to appear, gain carrier and lease an address (SCOUT_NETWORK_WAIT_SECONDS, default 60), and exit non-zero on timeout so the caller can report and retry. Move the loader's invocation inside the download retry loop, guarded so it runs once on success.
Backport of SMC GB300 support onto
release/v2.1to build a v2.1 image for onboarding the GB300 trays.Commits
bb7ff72f) — minimal SMC GB300 support: libredfish v0.46.2→v0.46.3 (OpenBMC vendor routing, libredfish FORGE-5259: change default boot url to use golan driver for hosts wit… #111) + bmc-explorer GB300 handling. Cherry-picked frommain(556bdd89).4354b769— include ARM host boot artifacts in BFB image (fork41a957228): packagesscout.efifor aarch64 so Grace/ARM GB300 can HTTP-boot scout.11f862a1— prefer boot NIC during Scout startup (fork8d7ae4c80): addsforge-scout-network.shboot-NIC selection.32d4ae24— wait for boot NIC before filtering Scout DHCP (fork241af6089).Commits 2–4 are cherry-picked from
martinraumann/smcgb300/v2.0-controller-backport(never upstreamed to main; only #4121 was). They apply cleanly onto v2.1.Intentionally NOT included (already in v2.1)
02c0f6ffd"use DHCP link address for prediction promotion" + test4403a8256— redundant: v2.1crates/api-core/src/dhcp/discover.rsalready selectslink_addressover the relay/giaddr (address_to_use_for_dhcp = link_address.as_ref().unwrap_or(&relay_address)).#4145setup-status correlation,#3454host-boot-interface convergence — already onrelease/v2.1.cc @martinraumann — please sanity-check the v2.0→v2.1 adaptation of commits 2–4 (they applied clean, but they're your patches).