oxidecomputer / oxidecomputer/buildomat

propolis factory: might want to use pci-nvme instead of pci-virtio-block?

Open
#80 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
72
Forks
5
PR merge metrics
No merged PRs in 30d

Description

I noticed the root disk for Propolis workers ends up being pci-virtio-block which definitely has not had attention in line with the last few months of nvme in Propolis. I don't know if it's so much different than nvme that it would matter much for CI jobs, but I don't know it's not important.

(I basically just see this as an excuse to stand up the bmat bits locally again and try out a real job with pci-nvme to see the difference. but if anyone else wants to try.. !)

a quick check on my workstation suggests that i can get upwards of 9k writes/sec (4k) with pci-nvme whereas pci-virtio-block hit a ceiling at around 7k writes/sec. throughput is frighteningly poor imo in both cases, but I can say that 'cause that's my problem :)

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 factory/propolis/src/vm.rs at the root-disk configuration around lines 369-374, then restore the bmat setup locally and run a real job using pci-nvme. Compare it with the current pci-virtio-block behavior and document whether the change is suitable for Propolis workers; done means the disk choice and observed CI impact are clear.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
ci-cd, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.