Skip to content

Fix redfish vendor vera rubin#3074

Merged
hakhondzadeh merged 4 commits into
NVIDIA:mainfrom
hakhondzadeh:fix-redfish-vendor-vera-rubin
Jul 1, 2026
Merged

Fix redfish vendor vera rubin#3074
hakhondzadeh merged 4 commits into
NVIDIA:mainfrom
hakhondzadeh:fix-redfish-vendor-vera-rubin

Conversation

@hakhondzadeh

@hakhondzadeh hakhondzadeh commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

fix: Add RedfishVendor::VeraRubin to be compatible with libredfish changes.
Bump up the libredfish version

Related issues

Vera Rubin compute tray ingestion.

@hakhondzadeh
hakhondzadeh requested a review from a team as a code owner July 1, 2026 21:02
@coderabbitai

coderabbitai Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

This PR extends Redfish vendor handling so P3809 and VeraRubin map to BMCVendor::Nvidia, routes VeraRubin through the direct root-password change path, and bumps the pinned libredfish dependency.

Changes

VeraRubin/P3809 NVIDIA BMC vendor mapping

Layer / File(s) Summary
Vendor-to-BMC mapping and password rotation path
crates/redfish/src/libredfish/conv.rs, crates/site-explorer/src/redfish.rs, Cargo.toml
bmc_vendor now maps P3809 and VeraRubin to BMCVendor::Nvidia; set_bmc_root_password routes VeraRubin through the same direct change_password_by_id path as NvidiaGBx00; the workspace libredfish git tag is updated to v0.44.18.

Estimated code review effort: 1 (Trivial) | ~3 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and accurately reflects the main change: adding Vera Rubin support in Redfish vendor handling.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed The description accurately matches the code changes: VeraRubin vendor handling and a libredfish version bump.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@coderabbitai coderabbitai Bot 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.

🧹 Nitpick comments (1)
crates/redfish/src/libredfish/conv.rs (1)

150-169: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add a value_scenarios! case for the new vendor aliases. Pin P3809 and VeraRubin to BMCVendor::Nvidia so this mapping stays covered by a table-driven test.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@crates/redfish/src/libredfish/conv.rs` around lines 150 - 169, The bmc_vendor
mapping in conv.rs now includes new RedfishVendor aliases P3809 and VeraRubin,
but the table-driven coverage in value_scenarios! does not exercise them yet.
Add a new value_scenarios! case for bmc_vendor that includes these aliases and
asserts they map to BMCVendor::Nvidia, alongside the existing
vendor-to-BMCVendor conversions.

Source: Path instructions

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@crates/redfish/src/libredfish/conv.rs`:
- Around line 150-169: The bmc_vendor mapping in conv.rs now includes new
RedfishVendor aliases P3809 and VeraRubin, but the table-driven coverage in
value_scenarios! does not exercise them yet. Add a new value_scenarios! case for
bmc_vendor that includes these aliases and asserts they map to
BMCVendor::Nvidia, alongside the existing vendor-to-BMCVendor conversions.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 1306161d-e757-4e28-a576-bfe357d3f106

📥 Commits

Reviewing files that changed from the base of the PR and between a171cb1 and ea980de.

📒 Files selected for processing (2)
  • crates/redfish/src/libredfish/conv.rs
  • crates/site-explorer/src/redfish.rs

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown

🔍 Container Scan Summary

Service Total Critical High Medium Low Other
boot-artifacts-aarch64 3 0 0 3 0 0
boot-artifacts-x86_64 3 0 0 3 0 0
forge-admin-cli-x86_64 302 5 32 113 8 144
machine-validation-runner 769 25 208 278 37 221
machine_validation 769 25 208 278 37 221
machine_validation-aarch64 769 25 208 278 37 221
nvmetal-carbide 769 25 208 278 37 221
TOTAL 3384 105 864 1231 156 1028

Per-CVE detail lives in the per-service grype-* artifacts (JSON + SARIF). Severity counts only — no CVE IDs published here.

@hakhondzadeh
hakhondzadeh merged commit 366947a into NVIDIA:main Jul 1, 2026
59 checks passed
nv-dmendoza pushed a commit that referenced this pull request Jul 13, 2026
Backport of #3442 to `release/v2.0`.

Newer Dell firmware appends interface details to HTTP boot-option
display
names. libredfish v0.44.19 preserves the legacy exact-name match while
also accepting the suffix used by newer firmware, allowing SetBootOrder
to work with both firmware generations.

`release/v2.0` previously pinned libredfish v0.44.16, so this backport
advances it directly to v0.44.19. This also includes the changes from
v0.44.17 and v0.44.18. Because v0.44.18 introduced
`RedfishVendor::VeraRubin`, this PR also cherry-picks the compatibility
handling from #3074 required to keep the release branch compiling.

## Related issues

- Mainline dependency PR: #3442
- VeraRubin compatibility PR: #3074
- libredfish fix: NVIDIA/libredfish#102
- libredfish issue: NVIDIA/libredfish#101

## Type of Change

- [ ] **Add** - New feature or capability
- [ ] **Change** - Changes in existing functionality
- [x] **Fix** - Bug fixes
- [ ] **Remove** - Removed features or deprecated functionality
- [ ] **Internal** - Internal changes (refactoring, tests, docs, etc.)

## Breaking Changes

- [ ] **This PR contains breaking changes**

## Testing

- [x] Unit tests added/updated in the upstream libredfish fix
- [ ] Integration tests added/updated
- [ ] Manual testing performed
- [ ] No testing required

Validated on Linux against this backport branch:

- `cargo check --locked -p carbide-redfish -p carbide-site-explorer`
- focused Clippy for `carbide-redfish` and `carbide-site-explorer`
- `cargo make --no-workspace clippy-flow`

## Additional Notes

This PR contains two backported mainline commits:

- `bec9dfe7c` — bump libredfish to v0.44.19
- `366947aef` — handle the VeraRubin vendor variant introduced by
v0.44.18

Release Management should perform the merge.

---------

Signed-off-by: Josh P <williamp@nvidia.com>
Co-authored-by: hakhondzadeh <hakhondzadeh@nvidia.com>
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.

2 participants