oxidecomputer / oxidecomputer/omicron
Miscellaneous Cleanups For The FM Subsystem
Open
Nobody has claimed this yet.
development
fault-management
- Dominant language
- Rust
- Stars
- 572
- Forks
- 97
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 96
Description
I'm using this as a bit of a staging ground for things that are, IMO, pretty easy clean-up changes, but invasive enough that I don't want to do them as a part of other FM-related changes.
- https://github.com/oxidecomputer/omicron/pull/10592/changes#r3606250554 - use a macro for "expecting columns" from kinded fact types.
- https://github.com/oxidecomputer/omicron/pull/10592/changes#r3606101391 - Split out fact-types in a per-DE module
- https://github.com/oxidecomputer/omicron/pull/10866 + https://github.com/oxidecomputer/omicron/pull/10592/changes#r3606255152 - Change
SagaSummaryto use theSelectable/Queryablemodel. - https://github.com/oxidecomputer/omicron/pull/10592/changes#r3606347834 - it would be nice to either proptest or exhaustively iterate over "all DEs, all facts" and see that foreign facts get treated consistently (the case gets closed)
- https://github.com/oxidecomputer/omicron/pull/10541#discussion_r3415749951 - Derive macros for DB models / sitrep types to ensure they have the necessary ID types to be contained within a sitrep (and GC'd from a sitrep that gets deleted too)
- https://github.com/oxidecomputer/omicron/pull/10592/changes#r3606457099 - Parallelize planning input loading
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
Review the linked discussions in PRs 10592, 10866, and 10541 to choose one of the six cleanup items in the FM subsystem. Trace the relevant fact types, SagaSummary, DB models, or planning input loading from those references; the selected checklist item is done when its stated cleanup and associated consistency or model requirements are satisfied.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend, databases
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100