Divakar Demo Rack A
Pick a fault for any node, then run the test. Each node is a simulated BMC.
Test run
Divakar RackTest Demo ready. Press "Run rack test".
Traceability: every test run by serial number
Same idea as the MES/SQL tables: test_run (one row per unit per run) and test_step (one row per check). Stored in this browser only.
| Run | Time | Station | Serial | Result | Failed checks |
|---|
| Check | Result | Value |
|---|
Redfish explorer
The JSON a BMC returns. A real tool calls GET https://<bmc-ip>/redfish/v1/... with a login; here the BMC is simulated.
Golden config (what a good unit must match)
In a factory this comes from the NPI/BOM release for each SKU. Change a value and run the test again.
About the Divakar RackTest Demo
A small demo by Divakar Upadhyay that shows how I'd build factory test and tooling software for server and rack integration (L10 = one server or tray, L11 = a full rack).
What it does
- Talks to each node's BMC through Redfish (System, Thermal, Power, FirmwareInventory), the same URLs a real BMC serves.
- Checks each unit against a golden config: BIOS/BMC version, CPU count, memory, fan RPM and health, temperature limits and PSU health.
- If one BMC doesn't answer, that node fails and the rest of the rack is still tested.
- Saves every run and every check by serial number for traceability, and exports CSV for MES/SQL.
Same logic in Python (in the interview folder)
mock_bmc.py: a fake Redfish BMC (Python standard library only, with options to inject faults).rack_test.py: a CLI test runner that saves results to SQLite (test_run/test_step) and can print a report by serial.test_rack_test.py: 6 unit tests covering a healthy node, each fault type and an unreachable BMC.
Next steps for a real line
- Use HTTPS with session auth, retries and timeouts. Run nodes in parallel with a thread pool.
- Add IPMI (
ipmitool sdr / sel / fru) for older BMCs, and run in-band Linux checks over SSH (lspci,dmidecode,nvidia-smi). - Do firmware updates through Redfish UpdateService, then check the version again. Check eROT/PFR attestation status.
- Write results to MSSQL/MES, block shipping when a unit fails, and add a yield dashboard by station, SKU and failure code.
All serial numbers, models and readings are made up for this demo. It doesn't belong to any company.