List Ceph daemon crash reports — bootstrap-admin.
curl --request GET \ --url https://stratum.example.com/v1/admin/storage/ceph/crashes \ --header 'Authorization: Bearer <token>'Daemon crash reports (ceph crash ls): id, entity,
timestamp. Install-scope; gates on storage:ListCephCrashes.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”Crash reports.
object
A Ceph daemon crash report.
object
Daemon that crashed, e.g. osd.3.
When an operator acknowledged this crash. Absent while it is still
unacknowledged — and an unacknowledged crash is not history, it is an
open question: Ceph holds the cluster in HEALTH_WARN via RECENT_CRASH
until every crash is archived.
Host the daemon was running on.
Ceph version the daemon was running, so a crash can be told apart from one that predates an upgrade.
The binary that crashed (ceph-osd, ceph-mon). Distinct from entity:
entity is the daemon’s cluster identity, this is what actually died, and
on an unnamed crash it is all there is.
Ceph’s hash of the stack — the recurrence key. Two crashes sharing a signature are the same bug hitting twice, which is the difference between “a known upstream issue” and “this node is failing”.
The assertion text, present only for assertion failures. A segfault has none, so its absence is information rather than a gap.
The stack as Ceph recorded it, one frame per entry — the field that lets an operator judge a crash rather than only see that one happened.
Carried inline rather than behind a per-crash detail endpoint because
ceph crash ls already returns it: a detail endpoint would re-fetch bytes
the list call already had. Roughly 1 KB per crash on a real report.
Present when there is no Ceph cluster to read (not set up, bootstrapping, a failed bootstrap, torn down): the reconciler’s observed state, and the list is then empty (the pool list holds the desired pools). Absent on a live answer. Before Ceph exists these reads answer 200 with it, never 503; 503 means a cluster that exists did not answer.
object
The control plane (node id) that wrote this status.
The radosgw daemons the reconciler observed running at its last probe. Absent when not observed (no cluster answered, or the gateway listing failed): unknown, not zero.
Example
{ "cluster": { "phase": "unconfigured" }}Authenticated but not authorized.
object
The findings of a rejected IAM policy document (custom and resource policies).
One finding of a rejected IAM policy document. A rejection lists every finding, so the author fixes the document in one round trip.
object
The finding, e.g. INVALID_DOCUMENT, UNKNOWN_ACTION, ACTION_NOT_APPLICABLE.
Index of the statement at fault; -1 for the document as a whole.
The offending action, where one is at fault (ACTION_NOT_APPLICABLE).
Field errors, for codes that carry them: each problem at its field
(see FieldError). Documented on the responses that set it, e.g.
approveNodeJoin’s INVALID_INPUT and JOIN_APPROVAL_REFUSED.
Absent otherwise.
One field’s problem, the stage-2 installer API’s shape.
field is the field’s path, message what is wrong with it.
object
The field’s path, e.g. links[0].interface, disks[1].confirm,
mgmt.address or role; empty for the whole request.
Structured facts about the refusal, for codes that carry them. The
shape is fixed per code and documented on the response that answers
it, e.g. IMAGE_POOL_MISMATCH (see ImagePoolMismatchDetails) and
IMAGE_IN_USE. Absent for codes that carry none.
object
Example
{ "issues": [ { "code": "ACTION_NOT_APPLICABLE", "action": "compute:CreateVpc" } ]}Upstream temporarily unavailable (driver / scheduler / dependency).
object
The findings of a rejected IAM policy document (custom and resource policies).
One finding of a rejected IAM policy document. A rejection lists every finding, so the author fixes the document in one round trip.
object
The finding, e.g. INVALID_DOCUMENT, UNKNOWN_ACTION, ACTION_NOT_APPLICABLE.
Index of the statement at fault; -1 for the document as a whole.
The offending action, where one is at fault (ACTION_NOT_APPLICABLE).
Field errors, for codes that carry them: each problem at its field
(see FieldError). Documented on the responses that set it, e.g.
approveNodeJoin’s INVALID_INPUT and JOIN_APPROVAL_REFUSED.
Absent otherwise.
One field’s problem, the stage-2 installer API’s shape.
field is the field’s path, message what is wrong with it.
object
The field’s path, e.g. links[0].interface, disks[1].confirm,
mgmt.address or role; empty for the whole request.
Structured facts about the refusal, for codes that carry them. The
shape is fixed per code and documented on the response that answers
it, e.g. IMAGE_POOL_MISMATCH (see ImagePoolMismatchDetails) and
IMAGE_IN_USE. Absent for codes that carry none.
object
Example
{ "issues": [ { "code": "ACTION_NOT_APPLICABLE", "action": "compute:CreateVpc" } ]}