oxidecomputer / oxidecomputer/omicron
after failing to start a Propolis VM sled agent should collect a zone bundle before removing the zone
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 572
- Forks
- 97
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 96
Description
Seen in #6453. The error path from InstanceRunner::propolis_ensure doesn't go down the same termination path as other methods of disposing of a Propolis zone (i.e. the InstanceRunner::terminate function): https://github.com/oxidecomputer/omicron/blob/a24fa8cf2e65c1945c2af7b460c7359316b05970/sled-agent/src/instance.rs#L1281-L1296
This means that sled agent won't collect zone bundles from Propolis zones that are torn down due to an instance start failure, which makes it hard to see what's going on. This cleanup path should be reconciled with the other Propolis zone cleanup paths.
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
Start in sled-agent/src/instance.rs at InstanceRunner::propolis_ensure and compare its failure cleanup with InstanceRunner::terminate, especially the lines linked in the issue. Reconcile the paths so a Propolis zone bundle is collected before the zone is removed after an instance start failure, as described in #6453.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 50/100