-
Notifications
You must be signed in to change notification settings - Fork 42
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[3/n] use update engine for reconfigurator execution (#6399)
This starts to introduce the ability for the reconfigurator execution to be driven by the update engine. Doing so does add some complexity -- there's a new system driving updates -- but has several advantages that will be coming in future patches: 1. More fine-grained step reporting. 2. Progress reporting (not hooked up yet). This is really basic so far -- for example, we don't currently report skipped steps, nor do we model nested steps within the update engine. But it's a good place to get started, and we can keep enhancing this as time permits. One change is that we now return and store a single `anyhow::Error` rather than a list of errors. If a step returns more than one error, we use a hack to combine the cause chains into a single message. To serialize errors, we use the `NestedError` that's currently in `update-engine`. One benefit is that we now record the entire chain of error sources. Within omdb, I also switched the blueprint executor display (and nothing else so far) to use tabled for easy alignment. This is what it looks like now: ``` task: "blueprint_executor" configured period: every 1m currently executing: no last completed activation: iter 110, triggered by a periodic timer firing started at 2024-08-27T05:36:57.748Z (7s ago) and ran for 227ms target blueprint: 70004e05-fc43-4534-ba51-ab0239b13f63 execution: enabled status: failed at: Ensure dataset records (step 6/13) error: step failed: Ensure dataset records caused by: failed to insert dataset record for dataset 9d128b27-c9e9-4acf-b40b-44cbfbb0e2ba caused by: Object (of type ById(6549a5fa-3f2e-4132-b2a1-56caf9028064)) not found: zpool ```
- Loading branch information
1 parent
3d3f6d7
commit b45ec6d
Showing
22 changed files
with
1,253 additions
and
151 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.