oxidecomputer / oxidecomputer/omicron
Improve the disk DE in FMA to account for nvme health pages
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 572
- Forks
- 97
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 96
Description
First of all: I want omicron to generally be able to read the health page from NVME devices, because I think this is useful. Next: I'd like to plumb this info into both FMA, but also, into disk adoption, to avoid adopting disks which are known-problematic.
This issue tracks a multi-PR effort:
- libnvme (https://github.com/oxidecomputer/libnvme) does not expose a way to access the health page. It should the device reliability page is particularly important.
- sled agent's inventory will need to query the health information via this new nvme API, and propagate it through the internal APIs
- Nexus will need to persist this inventory into the database
- Disk adoption should consider nvme health when deciding whether or not to adopt a disk
- the FM diagnosis engine for disks should also observe this health info, and create a fact identifying that a disk might be in an unhealthy state.
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 by reviewing the libnvme health-page API gap, then trace how sled agent inventory reaches Nexus and the disk adoption and FMA diagnosis paths. The work is complete when NVMe health information is exposed and propagated, persisted, and used by both disk adoption and disk diagnosis as described in the checklist.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100