Merged
Conversation
25cbc0d to
d6edf54
Compare
If hash evaluation fails because of missing referenced resource,
continue by returning nil instead of failing.
This will make sure the error is reported in the clusterSummary
status.
This PR also changes the logic in clusterSummary controller `scope.Close()`
When a conflict is detected in scope.Close(), instead of returning nothing,
set `result = ctrl.Result{RequeueAfter: time.Minute}`.
This ensures re-reconciliation without bypassing the NextReconcileTime
backoff (since on the success path no setNextReconcileTime is called,
so skipReconciliation won't block the 1-minute requeue)
Test failure in the tier-change scenario:
1. Tier changes → ClusterSummary spec updated → reconcile fires
2. Deployment succeeds (no setNextReconcileTime called on success path → no cooldown set)
3. scope.Close() tries to patch status → conflict (the ClusterSummary
was modified between read and patch by the controller's own in-flight logic)
4. Old (pre PR): conflict swallowed → no requeue scheduled, no watch event comes → status
never reaches Provisioned → test times out
d6edf54 to
5499734
Compare
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.
If hash evaluation fails because of missing referenced resource,
continue by returning nil instead of failing.
This will make sure the error is reported in the clusterSummary
status.
This PR also changes the logic in clusterSummary controller
scope.Close()When a conflict is detected in scope.Close(), instead of returning nothing,
set
result = ctrl.Result{RequeueAfter: time.Minute}.This ensures re-reconciliation without bypassing the NextReconcileTime
backoff (since on the success path no setNextReconcileTime is called,
so skipReconciliation won't block the 1-minute requeue)
Test failure in the tier-change scenario:
was modified between read and patch by the controller's own in-flight logic)
never reaches Provisioned → test times out