oxidecomputer / oxidecomputer/omicron
RSS handoff error message drops important cause information
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 572
- Forks
- 97
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 96
Description
My a4x2 is failing to set up, with only this log message:
18:01:04.828Z INFO SledAgent (RSS): Failed to handoff to nexus: Communication Error: error sending request for url (http://[fd00:1122:3344:101::6]:12221/racks/a6417c30-1748-45c8-b01e-caca9e11ec6c/initialization-complete)
file = sled-agent/src/rack_setup/service.rs:1001
the full bunyan entry:
{"msg":"Failed to handoff to nexus: Communication Error: error sending request for url (http://[fd00:1122:3344:101::6]:12221/racks/a6417c30-1748-45c8-b01e-caca9e11ec6c/initialization-complete)","v":0,"name":"SledAgent","level":30,"time":"2025-05-27T18:01:04.828484117Z","hostname":"g0","pid":1312,"component":"RSS","file":"sled-agent/src/rack_setup/service.rs:1001"}
This error ought to have more information about what happened, but the cause is being dropped because we're just formatting the error as a string:
https://github.com/oxidecomputer/omicron/blob/37a2122e4be0d947c141833a695bf11a1c32f537/sled-agent/src/rack_setup/service.rs#L1001
We need to be using https://github.com/oxidecomputer/slog-error-chain here instead.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read sled-agent/src/rack_setup/service.rs around line 1001 and inspect how the handoff error is formatted. Review the slog-error-chain usage linked in the issue, then verify that the RSS handoff log preserves the underlying cause information. Done means the logged error includes the relevant error chain rather than only the formatted top-level message.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- observability
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 65/100