Commit Graph

6 Commits

Author SHA1 Message Date
6912680ed4 Fix fabric firmware version path — add VikingEnterpriseSolutions key
The Redfish response nests the version under
Oem.VikingEnterpriseSolutions.Version.ActiveFirmwareVersion, not
Oem.Version.ActiveFirmwareVersion. Fixed in both redfish.py
(_get_fabric_fw_version, used by network check and firmware workflow)
and workflow_check.py (serial inline parsing).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 11:28:07 -04:00
2d27e9760a Extend system check to display MAC, hostname, and link status
_parse_network_data now returns mac, hostname, and link_status extracted
from the Redfish EthernetInterfaces/1 response (MACAddress, HostName,
LinkStatus fields confirmed present in live IOM output).

_print_results gains a second table — Interface Details (IOM | MAC | Hostname)
— between the Network Settings and Firmware Versions tables. Network Settings
table drops the redundant Origin column and adds Link Status instead.

Both _check_via_serial and _check_via_network updated to unpack and pass
the additional fields. fetch_current_config in workflow_serial.py also
updated to use the same address-parsing logic and trimmed table layout.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 11:18:55 -04:00
76ee347d91 Limit serial workflows to IOM1 only — IOM2 unreachable over serial
The serial cable connects to IOM1's console port. IOM2 cannot be queried
or configured via the serial connection. Updated all serial-path code to
reflect this:

workflow_serial.py:
- fetch_current_config: query IOM1 only, single-row table
- collect_network_config: prompt for IOM1 settings only, drop IOM2 section
- apply_configuration: apply to IOM1 only, single-row result table
- print_summary: IOM1-only table, updated warning text

workflow_check.py (_check_via_serial):
- Query IOM1 only for network settings, IOM firmware, and Fabric Card firmware

CLAUDE.md updated to document the IOM1-only serial limitation.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 10:47:12 -04:00
4c820c5086 Auto-detect root password from IOM hostname on serial login
The BMC serial number (e.g. MXE3000048LHA03C) is embedded in the IOM
hostname shown in the serial login prompt. It also doubles as the root
password, so no manual entry is needed.

- If at login prompt: extract serial from 'hostname login:' line
- If already logged in: run 'hostname' on the shell and extract serial
- Falls back to prompt_password() if extraction fails either way

_login_serial_console() now returns (success, password) instead of bool.
Callers in workflow_serial.py and workflow_check.py updated accordingly.
CLAUDE.md updated to document the behaviour and remove it from planned features.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 10:23:13 -04:00
b745643a4b Simplify network workflows to use a single IOM IP address
Either IOM can reach the other via Redfish, so there's no need to collect
separate IOM1/IOM2 addresses. Firmware update and system check now prompt
for one IP per shelf with a note that either IOM's address works.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-04 10:57:44 -04:00
3361fdd1a6 Add System Check workflow with serial and network connection options
Adds workflow_check.py: a read-only diagnostic that queries current network
settings and firmware versions (IOM + Fabric Card) from both IOMs. Accessible
via a new main menu option (3 — System Check); Exit moves to option 4.
Supports both serial console (curl over the serial session) and direct network
(HTTPS to management IP) connection methods.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 22:25:16 -04:00