oxidecomputer / oxidecomputer/omicron
Packaging: Make a decision on the packaging of the host OS vs zones
Open
@ahl is already working on this.
Since Jan 31, 2023.
- Dominant language
- Rust
- Stars
- 572
- Forks
- 97
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 96
Description
to explain:
In the 1/31 Update Sync, we unearthed some confusion about the packaging of pieces of the host OS and corresponding zones.
Namely, there are a handful of different options in the space:
- We could treat the "host OS" as one package, and "all the zone images" as another package
- We could treat the "host OS and all zone images" together as one package
- Note: "How we package things" does not need to exactly correspond with "how we lay down the bits on-disk". When we apply an update, we can split up the package, and send it to different places. (Should we? That's a different question!)
- We could treat the "host OS" as one package, which includes some zone images (e.g., Sled Agent and Propolis, which may have tight coupling) and other zone images as other packages.
We've discussed pros and cons of these things in a variety of contexts:
- Fewer packages are simpler, and make it easier to ensure that versions stay in sync
- But smaller, fine-grained packages will make it easier to update stuff independently, preserve uptime, and avoid using portions of the ramdisk
To clarify, this is a decision where we can change the output over time. But we do need to make a decision for MVP, and document it in RFD 300.
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.
Assessment
This issue has not been assessed yet.