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>
This commit is contained in:
2026-03-17 22:25:16 -04:00
parent d80dac2222
commit 3361fdd1a6
3 changed files with 251 additions and 3 deletions

View File

@@ -22,6 +22,7 @@ import time
sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "modules"))
from ui import _c, C, banner, draw_box, ok, warn, prompt
from workflow_check import system_check_workflow
from workflow_firmware import firmware_update_workflow
from workflow_serial import configure_shelf
@@ -32,11 +33,12 @@ def main():
draw_box([
f" {_c(C.BOLD, '1')} Configure a new ES24N shelf (serial)",
f" {_c(C.BOLD, '2')} Update IOM / Fabric Card Firmware",
f" {_c(C.BOLD, '3')} Exit",
f" {_c(C.BOLD, '3')} System Check",
f" {_c(C.BOLD, '4')} Exit",
])
print()
choice = prompt("Select [1/2/3]")
choice = prompt("Select [1/2/3/4]")
if choice == "1":
another = configure_shelf()
if not another:
@@ -44,9 +46,11 @@ def main():
elif choice == "2":
firmware_update_workflow()
elif choice == "3":
system_check_workflow()
elif choice == "4":
break
else:
warn("Please enter 1, 2, or 3.")
warn("Please enter 1, 2, 3, or 4.")
time.sleep(1)
print()