[v0.15] Refine conditions for reconciles from cluster updates across shards#4817
Merged
thardeck merged 1 commit intoMar 24, 2026
Merged
Conversation
thardeck
approved these changes
Mar 13, 2026
Collaborator
|
Do not merge until after the unrc. |
* Enable cluster-to-bundle updates across shards Filtering all incoming events in the bundle reconciler would prevent updates to relevant clusters, which may live in shards different to the bundle's, from impacting the bundle. Instead, all bundle controllers, regardless of their shards, may now receive updates from clusters which are relevant to the bundle, considering, as was already the case, the bundle and the cluster's respective namespaces, cluster groups, and bundle namespace mappings. * Keep shard filter on bundle reconciles from deployments A bundle deployment is created by Fleet, and bears the same shard ID as its originating bundle, as the sharding label is propagated along with all Fleet labels from a bundle to its bundle deployments. Therefore, filtering incoming bundle deployment-related events for bundle reconciles by shard ID is safe, and preserves the performance gain brought by the previous wider-reaching event filter. * Enable cluster updates to trigger schedule reconciles earlier When a cluster is created, or enabled to newly match a schedule's targets, the schedule would not be reconciled as a result, because logic mapping clusters to schedules only considered schedules for which jobs had already been scheduled. That logic now takes all schedules into account within the cluster's namespace. * Enable schedule reconciles from clusters in different shards A cluster being updated would not make much of a difference, because mapping schedules to and from clusters works based on the schedules and clusters' respective namespaces. However, creating a new cluster in the same namespace still needs to be taken into account across shards, as a cluster living in a different shard may be relevant to a schedule, living in its same namespace and matching its targets. * Prevent multiple reconciles per schedule per cluster event While the Schedule reconciler must be able to process cluster events coming from any shard, only Schedules matching the reconciler's shard must be reconciled as a result, to prevent a given Schedule from being reconciled concurrently across multiple controllers.
3c81112 to
84f786a
Compare
thardeck
approved these changes
Mar 24, 2026
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backport of #4730 to v0.15.
Refers to #4484.
Additional Information
Checklist
- [ ] I have updated the documentation via a pull request in thefleet-docs repository.