Update README to document network configuration workflow and all modules
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
66
README.md
66
README.md
@@ -21,14 +21,15 @@ sudo python3 es24n_conf.py
|
||||
|
||||
## Features
|
||||
|
||||
### Serial Network Configuration
|
||||
### Network Configuration
|
||||
|
||||
Connects to the IOM over a USB serial cable and configures each IOM's management network interface via the Redfish API over the serial loopback (`127.0.0.1`). Used for initial setup when the IOM has no IP address yet.
|
||||
Configure each IOM's management network interface via the Redfish API. Two connection methods are supported:
|
||||
|
||||
- Supports both **Static IP** and **DHCP** configuration
|
||||
- Configures IOM1 and IOM2 independently in a single session
|
||||
- Displays current network settings before making any changes
|
||||
- Supports configuring multiple shelves back-to-back in one session
|
||||
**Serial** — Connects over a USB serial cable using the Redfish loopback (`127.0.0.1`). Used for initial setup when the IOM has no IP address yet.
|
||||
|
||||
**Network** — Connects directly to the IOM's existing management IP. Used when the IOM is already reachable on the network (e.g. currently on DHCP) and needs its settings changed.
|
||||
|
||||
Both methods support **Static IP** and **DHCP** configuration, display current settings before making any changes, and support configuring multiple IOMs back-to-back in a single session.
|
||||
|
||||
### Firmware Updates
|
||||
|
||||
@@ -36,30 +37,51 @@ Connects to each IOM directly over the network and updates IOM and/or Fabric Car
|
||||
|
||||
- Select IOM1 only, IOM2 only, or both
|
||||
- Update IOM firmware, Fabric Card firmware, or both in a single run
|
||||
- Scans the current working directory for firmware files automatically
|
||||
- Scans the `firmware/` directory for firmware files automatically
|
||||
- Displays current firmware versions before and after the update
|
||||
- Polls update task progress automatically
|
||||
|
||||
## Workflow
|
||||
### System Check
|
||||
|
||||
### Configure a Shelf (Serial)
|
||||
Read-only diagnostic — queries current network settings and firmware versions without making any changes. Available via serial or network connection.
|
||||
|
||||
1. Connect the serial cable from the ES24N IOM1 port to the controller's USB port
|
||||
2. Run the tool and select **Configure a new ES24N shelf**
|
||||
3. The tool detects the serial device, opens the connection, and prompts for the BMC admin password
|
||||
4. Current network settings for IOM1 and IOM2 are displayed
|
||||
5. Choose to apply a new Static IP or DHCP configuration, or leave settings unchanged
|
||||
6. Changes are applied via Redfish PATCH over the serial loopback (`127.0.0.1`)
|
||||
7. Verify each expander appears in TrueNAS under **System Settings > Enclosure > NVMe-oF Expansion Shelves** before disconnecting the serial cable
|
||||
### Restart IOM
|
||||
|
||||
Sends a graceful restart to a selected IOM via network or serial connection.
|
||||
|
||||
## Workflows
|
||||
|
||||
### Configure Network Settings — Serial
|
||||
|
||||
1. Connect the serial cable from the ES24N IOM console port to the controller's USB port
|
||||
2. Run the tool, select **Configure Network Settings**, then **Serial Connection**
|
||||
3. The tool detects the serial device, opens the connection, and auto-detects the root password from the IOM hostname
|
||||
4. Select which IOM the cable is connected to (IOM1 or IOM2)
|
||||
5. Current network settings are displayed
|
||||
6. Choose Static IP or DHCP, or leave settings unchanged
|
||||
7. Changes are applied via Redfish PATCH over the serial loopback (`127.0.0.1`)
|
||||
8. Verify the expander appears in TrueNAS under **System Settings > Enclosure > NVMe-oF Expansion Shelves** before disconnecting the serial cable
|
||||
|
||||
### Configure Network Settings — Network
|
||||
|
||||
1. Ensure this system has network access to the IOM management interface
|
||||
2. Run the tool, select **Configure Network Settings**, then **Network Connection**
|
||||
3. Enter the Admin password and the IOM's current IP address
|
||||
4. Select which IOM to configure (IOM1 or IOM2)
|
||||
5. Current network settings are displayed
|
||||
6. Choose Static IP or DHCP, or leave settings unchanged
|
||||
7. Changes are applied via Redfish PATCH directly to the IOM
|
||||
|
||||
> **Note:** If changing to a static IP, the IOM will immediately move to the new address. The connection to the old IP will stop working after the change is applied.
|
||||
|
||||
### Update Firmware
|
||||
|
||||
1. Ensure this system has network access to the IOM management interfaces
|
||||
2. Run the tool and select **Update IOM / Fabric Card Firmware**
|
||||
3. Enter the admin password and select which IOM(s) to update
|
||||
4. Enter the IP address(es) for the selected IOM(s)
|
||||
3. Select which IOM(s) to update
|
||||
4. Enter the Admin password and IP address for each shelf
|
||||
5. Select what to update (IOM firmware, Fabric Card firmware, or both)
|
||||
6. Select firmware file(s) from the auto-detected list or enter a custom path
|
||||
6. Select a firmware file from the auto-detected list or enter a custom path
|
||||
7. The tool uploads, applies, and monitors each update, then restarts the affected components
|
||||
|
||||
> **HA Systems:** Update the passive IOM first. After updating both IOMs on one controller, initiate a TrueNAS failover and re-run the tool for the other controller.
|
||||
@@ -68,17 +90,21 @@ Connects to each IOM directly over the network and updates IOM and/or Fabric Car
|
||||
|
||||
```
|
||||
es24n_conf.py ← Entry point — run this
|
||||
firmware/ ← Place firmware files here (.bin, .img, .fw, .fwc, etc.)
|
||||
modules/
|
||||
ui.py ← Display helpers and input prompts
|
||||
serial_port.py ← Serial port driver (no pyserial required)
|
||||
models.py ← IOMConfig and ShelfConfig data classes
|
||||
redfish.py ← Redfish API client (shared by all workflows)
|
||||
workflow_serial.py ← Serial-based network configuration workflow
|
||||
workflow_network.py ← Network-based network configuration workflow
|
||||
workflow_firmware.py ← Firmware update workflow
|
||||
workflow_check.py ← Read-only system check workflow
|
||||
workflow_restart.py ← IOM restart workflow
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- Setting a static IP requires two sequential Redfish PATCH requests due to a known ES24N firmware bug. The tool handles this automatically.
|
||||
- Setting a static IP requires two sequential Redfish PATCH requests due to a known ES24N firmware bug. The tool handles this automatically for both serial and network configuration.
|
||||
- Firmware uploads are performed over the network — uploading over the 115200-baud serial connection would be impractically slow.
|
||||
- The firmware file must be re-uploaded between the IOM firmware and Fabric Card firmware steps as it does not persist after the first update.
|
||||
|
||||
Reference in New Issue
Block a user