Add NICo NVSwitch firmware query - #573
Conversation
Signed-off-by: Hasan Khan <hasank@nvidia.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (5)
📝 WalkthroughWalkthroughThe NICo break-fix flow now queries NVSwitch tray firmware through a standalone provider script. It filters and normalizes inventory data, handles skips and API failures, and validates complete firmware evidence. ChangesNICo NVSwitch firmware inspection
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to The PR adds read-only NVSwitch firmware inventory handling and preserves the documented Flow-disabled skip behavior; no actionable merge-blocking risk remains after normal checks and review. Suggested reviewers: Sequence Diagram(s)sequenceDiagram
participant query_switch_firmware.py
participant NICo authentication
participant NICo trays API
participant NvSwitchFirmwareCheck
query_switch_firmware.py->>NICo authentication: authenticate
query_switch_firmware.py->>NICo trays API: request site trays
NICo trays API-->>query_switch_firmware.py: return tray components
query_switch_firmware.py-->>NvSwitchFirmwareCheck: return normalized firmware records
NvSwitchFirmwareCheck->>NvSwitchFirmwareCheck: validate firmware for all NVSwitch trays
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
Closing after live NICo validation. The read-only rack endpoint returned |
Signed-off-by: Hasan Khan <hasank@nvidia.com>
|
/ok to test d4d7461 |
🔐 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-14 14:56:02 UTC | Commit: d4d7461 |
Summary
tray_id/firmware_versioncontract412 Site does not have NICo Flow enabledresponseWhy
NICo exposes NVSwitch tray firmware through its Flow-backed tray inventory. Available DSX staging sites currently have Flow disabled, so the provider must distinguish an unavailable site capability from an implementation failure without reporting false success.
Closes #214.
Validation
uv run pytest -q isvctl/tests/providers/nico/test_nico_provider.py isvtest/tests/test_breakfix.py(191 passed)uv run isvctl test validate -f isvctl/configs/providers/nico/config/bare_metal.yamlaz51-dev3andaz51-dev4-dh1returned the expected structured BFX03-02 runtime skip because both sites report Flow disabledA live positive result still requires a Flow-enabled staging site with NVSwitch trays.
Summary by CodeRabbit
New Features
Bug Fixes