oxidecomputer / omicron

Omicron: Oxide control plane
Mozilla Public License 2.0
252 stars 40 forks source link

[reconfigurator] `BlueprintBuilder` cleanup 3/5 - introduce `BlueprintStorageEditor` #7105

Closed jgallagher closed 4 days ago

jgallagher commented 6 days ago

Builds and is staged on top of #7104. This introduces a BlueprintStorageEditor that handles disks and datasets together, and attempts to address the API issues described by #7080:

This should allow BlueprintBuilder clients who don't or can't call sled_ensure_{disks,datasets} (like reconfigurator-cli and some tests) to construct valid blueprints.

jgallagher commented 5 days ago

Thanks for the quick reviews! Merging with the changes with EditCounts etc. in #7104 and then changing this PR to be more in that style was nontrivial - maybe worth a second look? Particularly 2eef785 and 8573d08