randomparity / randomparity/kdive

Redfish exposes no OOB force-crash on x86 — decide the escalation path

Open
#1,842 0 comments 0 reactions 0 assignees View on GitHub
area:control-retrieve effort:S priority:P1 provider:baremetal-bmc risk:night-watch status:blocked type:spec
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.