oxidecomputer / oxidecomputer/omicron

after failing to start a Propolis VM sled agent should collect a zone bundle before removing the zone

Open
#6,459 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Sled Agent
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.