Add network-based IOM network configuration workflow (option 1 sub-menu)

Adds workflow_network.py implementing direct Redfish PATCH over the network
for cases where the IOM is already reachable (e.g. on DHCP) and needs
reconfiguration. Uses the same two-step PATCH workaround as the serial path:
pass 1 sets IPv4StaticAddresses, pass 2 disables DHCPv4. Option 1 in the
main menu now presents a Serial / Network / Back sub-menu before dispatching.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-18 11:10:32 -04:00
parent 38eef32d48
commit 62395a7dfe
2 changed files with 249 additions and 3 deletions

View File

@@ -24,6 +24,7 @@ sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "mod
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_network import configure_iom_network
from workflow_restart import restart_iom_workflow
from workflow_serial import configure_shelf
@@ -42,9 +43,25 @@ def main():
choice = prompt("Select [1-5]")
if choice == "1":
another = True
while another:
another = configure_shelf()
print()
draw_box([
f" {_c(C.BOLD, '1')} Serial Connection (IOM not yet on the network)",
f" {_c(C.BOLD, '2')} Network Connection (IOM reachable via management IP)",
f" {_c(C.BOLD, '3')} Back",
])
print()
sub = prompt("Select [1-3]")
if sub == "1":
another = True
while another:
another = configure_shelf()
elif sub == "2":
another = True
while another:
another = configure_iom_network()
elif sub != "3":
warn("Please enter 1, 2, or 3.")
time.sleep(1)
elif choice == "2":
firmware_update_workflow()
elif choice == "3":