oxidecomputer / oxidecomputer/omicron

[sled agent] Creating zones for Propolis Instances leaks datasets

Open
#1,119 2 comments 0 reactions 1 assignee View on GitHub

@smklein is already working on this.

Since Nov 16, 2022.

Sled Agent
Dominant language
Rust
Stars
572
Forks
97
Avg merge
2d 12h
Merged PRs (30d)
96

Description

Our model of "zone management" for Propolis servers expects that:

  • When an instance is running, we'll create + boot a zone for it
  • When an instance is stopped, all resources allocated for that zone should be freed

As a result of "testing instance creation + stop + delete" in a loop, however, I'm seeing zone datasets be created for each of these services without being destroyed:

# Note: This is after create + stop + delete in a loop. I would only expect at most one dataset to exist at a time!
$ zfs list
...
rpool/zone/oxz_propolis-server_50cbb8a9-a202-448a-84c2-be37866ccbde                               66K   746G    66K  /zone/oxz_propolis-server_50cbb8a9-a202-448a-84c2-be37866ccbde
rpool/zone/oxz_propolis-server_551e3e8e-9f95-4cb0-b782-c705009fceda                              463M   746G   463M  /zone/oxz_propolis-server_551e3e8e-9f95-4cb0-b782-c705009fceda
rpool/zone/oxz_propolis-server_555ca2fb-275d-462d-93b2-df4d41426e42                               71K   746G    71K  /zone/oxz_propolis-server_555ca2fb-275d-462d-93b2-df4d41426e42
rpool/zone/oxz_propolis-server_8e37d3be-1389-4b1d-be71-d028ceedde50                               79K   746G    79K  /zone/oxz_propolis-server_8e37d3be-1389-4b1d-be71-d028ceedde50
rpool/zone/oxz_propolis-server_9eff450f-38c5-46a0-9e49-2b9f489f7cfc                               86K   746G    86K  /zone/oxz_propolis-server_9eff450f-38c5-46a0-9e49-2b9f489f7cfc
rpool/zone/oxz_propolis-server_ea99d0d5-3d45-46b0-8e9b-fe0ff1877ffd                               63K   746G    63K  /zone/oxz_propolis-server_ea99d0d5-3d45-46b0-8e9b-fe0ff1877ffd
rpool/zone/oxz_propolis-server_eafdbfb5-c162-487e-8faa-3e89106fe648                               66K   746G    66K  /zone/oxz_propolis-server_eafdbfb5-c162-487e-8faa-3e89106fe648

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.