Skip to content

backport: minimal SMC GB300 support (#4121) to release/v2.1 - #4645

Open
huaweic-nv wants to merge 4 commits into
release/v2.1from
smcgb300/v2.1-backport-4121
Open

backport: minimal SMC GB300 support (#4121) to release/v2.1#4645
huaweic-nv wants to merge 4 commits into
release/v2.1from
smcgb300/v2.1-backport-4121

Conversation

@huaweic-nv

@huaweic-nv huaweic-nv commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Backport of SMC GB300 support onto release/v2.1 to build a v2.1 image for onboarding the GB300 trays.

Commits

  1. feat: minimal SMC GB300 support #4121 (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 from main (556bdd89).
  2. 4354b769 — include ARM host boot artifacts in BFB image (fork 41a957228): packages scout.efi for aarch64 so Grace/ARM GB300 can HTTP-boot scout.
  3. 11f862a1 — prefer boot NIC during Scout startup (fork 8d7ae4c80): adds forge-scout-network.sh boot-NIC selection.
  4. 32d4ae24 — wait for boot NIC before filtering Scout DHCP (fork 241af6089).

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)

  • fork 02c0f6ffd "use DHCP link address for prediction promotion" + test 4403a8256redundant: v2.1 crates/api-core/src/dhcp/discover.rs already selects link_address over the relay/giaddr (address_to_use_for_dhcp = link_address.as_ref().unwrap_or(&relay_address)).
  • #4145 setup-status correlation, #3454 host-boot-interface convergence — already on release/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).

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>
@copy-pr-bot

copy-pr-bot Bot commented Aug 6, 2026

Copy link
Copy Markdown

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.

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 4f973eff-0487-43a9-9135-9fce9452eee2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

@huaweic-nv huaweic-nv self-assigned this Aug 6, 2026
@huaweic-nv
huaweic-nv marked this pull request as ready for review August 6, 2026 02:53
@huaweic-nv
huaweic-nv requested a review from a team August 6, 2026 02:53
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown

🔐 TruffleHog Secret Scan

No secrets or credentials found!

Your code has been scanned for 700+ types of secrets and credentials. All clear! 🎉

🔗 View scan details

🕐 Last updated: 2026-08-06 02:56:46 UTC | Commit: bb7ff72

martinraumann and others added 3 commits August 6, 2026 15:04
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.
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.

4 participants