Add IOM and Fabric Card firmware update workflow #1

Closed
scott wants to merge 0 commits from claude/gifted-curie into main
Owner

Summary

  • Adds option 2 to the main menu: "Update IOM / Fabric Card Firmware"
  • New firmware_update_workflow() connects to each IOM via its network IP (not serial loopback — uploading firmware over 115200 baud would be impractically slow)
  • Supports updating IOM firmware only, Fabric Card only, or both
  • Shows current firmware versions before and after update for validation
  • Implements the full §12 procedure from ES24N Product Service Guide v.26011

New Redfish operations

Function Redfish endpoint
_redfish_upload_firmware POST /redfish/v1/UpdateService (multipart/form-data)
_redfish_trigger_update POST /redfish/v1/UpdateService/Actions/SimpleUpdate
_redfish_poll_tasks GET /redfish/v1/TaskService/Tasks/
_redfish_restart_iom POST /redfish/v1/Managers/<IOM>/Actions/Manager.Reset
_redfish_reset_fabric POST /redfish/v1/Chassis/<IOM>/NetworkAdapters/1/Actions/NetworkAdapter.Reset
_get_iom_fw_version GET /redfish/v1/Managers/<IOM>.FirmwareVersion
_get_fabric_fw_version GET /redfish/v1/Chassis/<IOM>/NetworkAdapters/1.Oem.Version.ActiveFirmwareVersion

_redfish_request gains an optional host parameter (default "127.0.0.1") — all existing serial-loopback callers are unaffected.

Test plan

  • Verify existing network config workflow (option 1) still works unchanged
  • Verify option 2 prompts for IOM IPs and firmware file paths
  • Verify firmware upload reaches the IOM's network IP (not loopback)
  • Verify IOM and Fabric Card firmware versions are displayed pre/post update
  • Verify graceful handling when IOM is unreachable (connection error, not crash)
## Summary - Adds **option 2** to the main menu: "Update IOM / Fabric Card Firmware" - New `firmware_update_workflow()` connects to each IOM via its **network IP** (not serial loopback — uploading firmware over 115200 baud would be impractically slow) - Supports updating IOM firmware only, Fabric Card only, or both - Shows current firmware versions before and after update for validation - Implements the full §12 procedure from **ES24N Product Service Guide v.26011** ## New Redfish operations | Function | Redfish endpoint | |---|---| | `_redfish_upload_firmware` | `POST /redfish/v1/UpdateService` (multipart/form-data) | | `_redfish_trigger_update` | `POST /redfish/v1/UpdateService/Actions/SimpleUpdate` | | `_redfish_poll_tasks` | `GET /redfish/v1/TaskService/Tasks/` | | `_redfish_restart_iom` | `POST /redfish/v1/Managers/<IOM>/Actions/Manager.Reset` | | `_redfish_reset_fabric` | `POST /redfish/v1/Chassis/<IOM>/NetworkAdapters/1/Actions/NetworkAdapter.Reset` | | `_get_iom_fw_version` | `GET /redfish/v1/Managers/<IOM>` → `.FirmwareVersion` | | `_get_fabric_fw_version` | `GET /redfish/v1/Chassis/<IOM>/NetworkAdapters/1` → `.Oem.Version.ActiveFirmwareVersion` | `_redfish_request` gains an optional `host` parameter (default `"127.0.0.1"`) — all existing serial-loopback callers are unaffected. ## Test plan - [ ] Verify existing network config workflow (option 1) still works unchanged - [ ] Verify option 2 prompts for IOM IPs and firmware file paths - [ ] Verify firmware upload reaches the IOM's network IP (not loopback) - [ ] Verify IOM and Fabric Card firmware versions are displayed pre/post update - [ ] Verify graceful handling when IOM is unreachable (connection error, not crash)
scott added 1 commit 2026-03-06 13:06:45 -05:00
- Add option 2 to main menu: "Update IOM / Fabric Card Firmware"
- Add firmware_update_workflow() connecting to IOMs via network IP
- Add _redfish_upload_firmware() for multipart/form-data firmware upload
- Add _redfish_trigger_update() for Redfish SimpleUpdate action
- Add _redfish_poll_tasks() to monitor TaskService until completion
- Add _redfish_restart_iom() and _redfish_reset_fabric() for graceful restarts
- Add _get_iom_fw_version() and _get_fabric_fw_version() for validation
- Add host param to _redfish_request() (default 127.0.0.1, backward-compatible)
- Implements §12 of ES24N Product Service Guide v.26011

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
scott closed this pull request 2026-03-06 13:10:46 -05:00
scott deleted branch claude/gifted-curie 2026-03-06 13:10:46 -05:00

Pull request closed

Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: scott/es24n-conf#1
No description provided.