-
Notifications
You must be signed in to change notification settings - Fork 62
blueprint execution: Make inter-step dependency explicit #7524
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This fixes #7529
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Neat!
Are we going to need to make this determination on a per-sled basis in the future? I'm wondering if we can spit out a graphviz dot file somehow.
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.