oxidecomputer / oxidecomputer/propolis

propolis-cli/standalone could pass along VM autodestruct desires

Open
#867 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rust
Stars
270
Forks
42
Avg merge
4d 5h
Merged PRs (30d)
6

Description

if i'm working with propolis-server locally and either ctrl+c the server (because i incorrectly think this will clean up related resources) or crash propolis-server (because of a bug i've introduced), i'll just leak the VM and related resources. after a few rounds of this, the reservoir will be full and instead there will be errors about no space when creating new VMs.

https://github.com/oxidecomputer/propolis/issues/154 and more importantly https://www.illumos.org/issues/14817 pointed us to what is now bound in Propolis to VmmHdl::set_autodestruct, but nothing uses set_autodestruct!

it'd be nice to set_autodestruct so these kinds of workflows don't cause you to wedge yourself. further, it's probably useful to be able to not set_autodestruct all the time because poking at the remnant VM after Propolis blows up seems valuable.

Contributor guide

No contributing guide indexed for this repository

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 propolis-cli/standalone and inspect how it manages the local propolis-server lifecycle. Read the existing VmmHdl::set_autodestruct binding and the related context in issues 154 and illumos issue 14817. Done means standalone can request VM autodestruction for cleanup while providing a way to retain the VM for post-failure investigation.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.