Skip to content

feat: Adding VR hardware type to BMC explorer#2910

Draft
hakhondzadeh wants to merge 2 commits into
NVIDIA:mainfrom
hakhondzadeh:Nvl72VR
Draft

feat: Adding VR hardware type to BMC explorer#2910
hakhondzadeh wants to merge 2 commits into
NVIDIA:mainfrom
hakhondzadeh:Nvl72VR

Conversation

@hakhondzadeh

@hakhondzadeh hakhondzadeh commented Jun 26, 2026

Copy link
Copy Markdown

Adds Vera Rubin (VR) hardware type to bmc explorer. We will need further changes to libredfish and nvredfish for end to end VR compute tray ingestion.

Related issues

(https://jirasw.nvidia.com/browse/FORGE-8111)

Type of Change

  • Add - New feature or capability

@copy-pr-bot

copy-pr-bot Bot commented Jun 26, 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 Jun 26, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

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: 55dfa41a-663a-4874-9781-d481f5762dae

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
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

Comment thread crates/bmc-explorer/src/hw/mod.rs Outdated

@martinraumann martinraumann left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add a VR scrape-backed mock/test, or link the source for the VR Redfish assumptions this PR relies on?

The new behavior depends on VR-specific details that are not otherwise verifiable in this diff: NVIDIA / VR NVL72 detection, HGX_GPU_ chassis IDs for PCIe discovery, /MAC(...)/IPv4(...)/Uri() boot-option paths, the expected BIOS attrs, and the EmbeddedUefiShell = Disabled infinite-boot polarity.

Without that fixture/source, a wrong chassis prefix or boot path shape could make VR setup validation silently incomplete.

let expected_bios_attrs: &[hw::BiosAttr] = match hw_type {
hw::HwType::Gb200 => &hw::gb200::EXPECTED_BIOS_ATTRS,
hw::HwType::VeraRubin => &hw::vera_rubin::EXPECTED_BIOS_ATTRS,
_ => unreachable!(),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we avoid the inner match hw_type { ..., _ => unreachable!() } here?

This outer arm only matches Gb200 | VeraRubin, but Rust does not carry that narrowing into the inner match. If another variant is later added to the outer OR-pattern and not added here, this compiles and panics at runtime. A small helper like HwType::expected_bios_attrs() with an exhaustive match, or separate Gb200 / VeraRubin arms, would keep this checked by the compiler.

chassis_id.starts_with("HGX_GPU_")
}

Some(hw::HwType::VeraRubin) => {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have a Redfish scrape or fixture confirming that VR GPU chassis IDs use the HGX_GPU_ prefix? This filter controls which chassis contribute PCIe devices, so if VR uses a different ID scheme, PCIe discovery would come back empty/incomplete without an obvious error.

nit: once that assumption is confirmed, this VeraRubin arm can be folded into the identical GB300 multi-variant arm above.

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.

3 participants