blueprint execution: Make inter-step dependency explicit#7524
Conversation
Zone cleanup and saga reassignment both assume that expunged zones in the blueprint are no longer running, which is currently dependent on the earlier `deploy_zones` execution step completing successfully. Add an empty `DeployZonesDone` token to make this dependency explicit.
|
Update: after chatting with @smklein, I moved the support bundle reassignment later and made it also dependent on the deploy zones step. |
| blueprint, | ||
| ); | ||
|
|
||
| let deploy_zones_done = register_support_bundle_failure_step( |
I don't think so; I think the preference is to break these dependencies entirely. This will require execution being able to tell the difference between "expunged but might still be running" and "expunged and guaranteed to no longer be running", which itself requires the planner to consult inventory and annotate the blueprint when a thing is guaranteed to no longer be running. #7286 does this for physical disk decommissioning by adding an explicit |
Zone cleanup and saga reassignment both assume that expunged zones in the blueprint are no longer running, which is currently dependent on the earlier `deploy_zones` execution step completing successfully. Add an empty `DeployZonesDone` token to make this dependency explicit. This is a small change with no runtime effect that will prevent us from closing #6999 before we address these steps.
Zone cleanup and saga reassignment both assume that expunged zones in the blueprint are no longer running, which is currently dependent on the earlier
deploy_zonesexecution step completing successfully. Add an emptyDeployZonesDonetoken to make this dependency explicit.This is a small change with no runtime effect that will prevent us from closing #6999 before we address these steps.