Skip to content

[39/n] prepare sled-agent reconciler for honoring mupdate overrides#8688

Merged
sunshowers merged 10 commits into
mainfrom
sunshowers/spr/39n-prepare-sled-agent-reconciler-for-honoring-mupdate-overrides
Jul 29, 2025
Merged

[39/n] prepare sled-agent reconciler for honoring mupdate overrides#8688
sunshowers merged 10 commits into
mainfrom
sunshowers/spr/39n-prepare-sled-agent-reconciler-for-honoring-mupdate-overrides

Conversation

@sunshowers

@sunshowers sunshowers commented Jul 25, 2025

Copy link
Copy Markdown
Contributor

This PR prepares the sled-agent config reconciler to honor mupdate overrides. In particular, the logic that requires bouncing zones needs to be updated to consider zone image locations after mupdate overrides have been considered, not before.

Doing this required some refactoring. The biggest one is that looking up zone image sources is no longer done through the image resolver and/or within sled-agent's services.rs, but rather by gathering and querying the resolver status within the config reconciler. This is a nice improvement overall, particularly because it means we grab the lock once per reconciler run rather than each time we need to look up a zone's image source.

We do not actually honor the mupdate override yet, though all the pieces are now in place. We'll combine the PRs to honor the override and update the blueprint logic into one, within #8456.

Created using spr 1.3.6-beta.1

[skip ci]
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1
@sunshowers sunshowers requested a review from jgallagher July 25, 2025 05:51
@sunshowers sunshowers changed the base branch from sunshowers/spr/main.39n-prepare-sled-agent-reconciler-for-honoring-mupdate-overrides to main July 26, 2025 00:10
Created using spr 1.3.6-beta.1
//
// This status is obtained after remove_mupdate_override is processed.
let resolver_status =
sled_agent_facilities.zone_image_resolver_status();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We also need to pass this into boot_partitions.reconcile() above, to avoid writing phase 2 images while we have a mupdate override in place. 😬

Seems like that could be done as a followup to this but before the planner work lands? I'm hoping this is pretty small and straightforward; there are no zones involved, so I think it's "if we'd be willing to launch artifacts from the TUF repo depo, we're also willing to write OS images; otherwise, we only report what we have"?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added logic to prepare for this -- will add the actual implementation in #8456.

Comment thread sled-agent/src/services.rs Outdated
Comment thread sled-agent/config-reconciler/src/reconciler_task/zones.rs Outdated
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1
@sunshowers sunshowers merged commit 174b829 into main Jul 29, 2025
17 checks passed
@sunshowers sunshowers deleted the sunshowers/spr/39n-prepare-sled-agent-reconciler-for-honoring-mupdate-overrides branch July 29, 2025 16:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants