fix(v2.0): process duplicate BlueField serials once#3362
Conversation
…3356) Dell iDRAC can copy a BlueField part number and serial number onto an unrelated PCIe record. Site Explorer currently iterates every host PCIe record, so the duplicated identity causes the same physical DPU to be counted and processed twice during ingestion. This change tracks nonempty serials from records with recognized BlueField part numbers during each host ingestion pass. When another BlueField-classified record repeats a serial, Site Explorer logs a warning and skips the second `record_host_dpu_device` call. The ingestion path only consumes part number and serial number, which are identical on the malformed and genuine records. It therefore does not need to select a canonical inventory record. Distinct BlueField serials, empty serials, and non-BlueField devices remain unchanged. ## Related issues Fixes NVIDIA#3324 ## 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 - [ ] Integration tests added/updated - [ ] Manual testing performed - [ ] No testing required (docs, internal refactor, etc.) Validated on Linux: - Focused duplicate-BlueField-serial regression test - Full `carbide-site-explorer` library test suite - `cargo make --no-workspace clippy-flow` Additional local validation: - Repository format check - `cargo check -p carbide-site-explorer --lib` - Focused `carbide-site-explorer` Clippy with warnings denied ## Additional Notes The raw endpoint exploration report and derived MLX inventory output are unchanged. Duplicate handling for `site-explorer mlx-devices` is tracked separately in NVIDIA#3352.
|
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:
✨ Finishing Touches🧪 Generate unit tests (beta)
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-07-10 15:20:51 UTC | Commit: 11d328e |
🔍 Container Scan Summary
Per-CVE detail lives in the per-service |
nv-dmendoza
left a comment
There was a problem hiding this comment.
LGTM, fixes an issue we are seeing elsewhere
Backport of #3356 to
release/v2.0.Dell iDRAC can copy a BlueField part number and serial number onto an unrelated PCIe record. Site Explorer iterates every host PCIe record, so the duplicated identity causes the same physical DPU to be counted and processed twice during ingestion.
This change tracks nonempty serials from records with recognized BlueField part numbers during each host ingestion pass. When another BlueField-classified record repeats a serial, Site Explorer logs a warning and skips the second
record_host_dpu_devicecall.The backport is patch-identical to the mainline fix. Raw endpoint inventory and derived MLX inventory output remain unchanged.
Related issues
Type of Change
Breaking Changes
Testing
Validated on Linux against this backport commit:
carbide-site-explorerlibrary test suitecargo check -p carbide-site-explorer --libcargo make --no-workspace clippy-flowAdditional local validation:
carbide-site-explorerClippy with warnings deniedAdditional Notes
This PR targets
release/v2.0for inclusion in a future v2.0 release candidate. Release Management should perform the merge.