You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Reconfigurator] Introduce PlanningInput that includes external networking information from CRDB (#5344)
The primary change in this PR is that the blueprint planner now wants a
`PlanningInput` (which contains a `Policy`) instead of a `Policy`. The
bulk of the diff is adding new `DataStore` methods (and tests for them)
that fetch all currently-allocated external IPs and NICs for services.
Some incidental changes that came along for the ride that I hope are not
controversial, but could be backed out if they are:
* `nexus_db_model::NetworkInterface::slot` is now a `SqlU8` instead of
an `i16`. I didn't have to change the queries here, so I think they're
still converting this to an `i16`, which is probably okay? I could make
a pass on them if needed though.
* I added an `omicron_uuid_kinds::ServiceKind` and started using it in
this PR. I did not attempt to make a pass through all service UUIDs to
start using this; I think this can be done incrementally?
Other notes:
* I'm not sure about the name `PlanningInput`. It feels vague; isn't
every argument to the planner a kind of "planning input"? But I'm not
sure what else to call "`Policy` plus extra CRDB state".
* This does not change execution at all. It's possible when I get to
that there will need to be some changes here, but I think this is
probably close enough that it can be reviewed, and any changes will be
small and can be rolled into the execution work.
0 commit comments