oxidecomputer / oxidecomputer/omicron
Better CPU platform defaults
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 572
- Forks
- 97
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 96
Description
https://github.com/oxidecomputer/omicron/pull/8728 added CPU platforms to instances and the API to set them, but a kind of underwhelming approach to picking the default CPU platform for an instance if none is specified: "the most general platform for whatever hardware the instance gets placed on". This is fine for existing Gimlet-based racks, because the most general platform on a Gimlet is also the only CPU platform a Gimlet can run, which is amd_milan.
On racks with Cosmos in them, instances will default to a CPU of amd_milan even if the only available hardware is Cosmo which can run amd_turin. Even if the rack only has Cosmo! Even if the operator intends to only ever install Cosmo (or later)!
I suspect this will fit reasonably alongside #9078, probably around Silo quotas, but I haven't thought very deeply about it yet.
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 with PR #8728, which added CPU platforms to instances and the API, and compare its default-selection behavior with the Silo-quota discussion in #9078. Trace how an unspecified platform is chosen for Gimlet and Cosmo hardware; done means a rack with only Cosmo hardware no longer defaults instances to amd_milan.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100