randomparity / randomparity/kdive
Redfish exposes no OOB force-crash on x86 — decide the escalation path
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- Avg merge
- 1h 26m
- Merged PRs (30d)
- 311
Description
Follow-on from the x86 half of #1816 (survey entry 7 of epic #1814).
## Finding
A live AMI MegaRAC BMC (ASPEED AST2600, ASRock Rack board, BMC FW 1.90.0, `RedfishVersion 1.8.0`)
advertises exactly these reset types at `/redfish/v1/Systems/Self/ResetActionInfo`:
```
ForceOff, ForceRestart, GracefulShutdown, On
```
**There is no `Nmi`.**
#1808 established that MAAS's `hmc` driver and Beaker's `lpar` script both refuse `interrupt`, and
#1816 asked us to "confirm what the raw interfaces expose". For x86 Redfish the answer is that the
raw interface does not expose it either. This is not a wrapper hiding capability — fielded AMI
firmware simply does not implement Redfish NMI.
## Why this matters
Epic #1814 R4 makes the OOB plane "the escalation path when in-band SSH is unreachable", while R5
puts `force_crash` on in-band magic SysRq. Those two commitments are inconsistent on x86 Redfish:
- If the guest kernel is wedged and SSH is gone, SysRq is unreachable.
- The only OOB verbs available are `ForceOff` and `ForceRestart`.
- Both **destroy the crash evidence the platform exists to collect**. A wedged kernel that gets
`ForceRestart`ed yields no vmcore.
So on this hardware there is currently no path from "kernel is wedged, SSH is gone" to "captured
vmcore".
## Decision required
Record one of:
1. **Accept the gap.** A host that wedges out of SSH reach is power-cycled and the Run is lost with
a specific `ErrorCategory`. Cheapest; concedes the case OOB was supposed to cover.
2. **Depend on the IPMI diagnostic interrupt.** Viable only if #(issue B) confirms it works, which
would move the IPMI driver (#1821) from "legacy labs" onto the critical path.
3. **Depend on KGDB** over the OOB serial console (#1828) as the wedged-kernel entry point.
## Scope
One PR: an ADR or an amendment to the #1815 ADR set recording the decision and its consequence.
No implementation.
## Evidence
Live GETs against a real BMC on 2026-08-04; read-only, no reset was issued.
Contributor guide
Research direction
Start with the #1815 ADR set and the R4/R5 commitments in epic #1814, then review the evidence and related paths in #1821 and #1828. Done means recording one escalation decision and its consequence in an ADR or amendment, without implementation.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100