-
Notifications
You must be signed in to change notification settings - Fork 35
Re-init conditions each reconcile #345
Re-init conditions each reconcile #345
Conversation
@@ -102,43 +102,44 @@ func (r *OpenStackAnsibleEEReconciler) Reconcile(ctx context.Context, req ctrl.R | |||
Log.Error(err, fmt.Sprintf("Unable to acquire helper for OpenStackAnsibleEE %s", instance.Name)) | |||
return ctrl.Result{}, err | |||
} | |||
// Bump the ObservedGeneration as the new Reconciliation started | |||
instance.Status.ObservedGeneration = instance.Generation |
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.
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.
/lgtm
This patch follows the same pattern applied to the other operators, where we re-init the condition at each reconcile loop. Conditions are re-evaluated and updated, keeping the LastTransitionTime for those that haven't changed (it avoids the transition from True to Unknown to True again). In addition, the "observedGeneration" field is introduced, and it is used by the openstack-operator to check the IsReady() function for a particular CR in case a minor update is triggered. All the conditions are evaluated during the main Reconcile loop ( or the reconcileNormal function in some circumstances), hence the main ReadyCondition is updated within the same flow. The defer function still updates the Resource and Mirror the condition to the top-level CR. Signed-off-by: Francesco Pantano <[email protected]>
} | ||
instance.Status.Conditions.Init(&cl) | ||
// Bump the ObservedGeneration as the new Reconciliation started | ||
instance.Status.ObservedGeneration = instance.Generation |
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.
@abays just bumping ObservedGeneration after we re-init the conditions so we keep consistency across the operators
Build failed (check pipeline). Post https://review.rdoproject.org/zuul/buildset/d97ce0ec670e43d28877eb89fdc2841d ✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 00m 58s |
recheck |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: abays, fmount, slagle The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
a61ca86
into
openstack-k8s-operators:main
This patch follows the same pattern applied to the other operators, where we re-init the
conditions
at each reconcile loop.Conditions
are re-evaluated and updated, keeping theLastTransitionTime
for those that haven't changed (it avoids the transition fromTrue
toUnknown
toTrue
again).In addition, the
observedGeneration
field is introduced, and it is used by theopenstack-operator
to check theIsReady()
function for a particularCR
in case a minor update is triggered. All the conditions are evaluated during the mainReconcile
loop ( or thereconcileNormal
function in some circumstances), hence the mainReadyCondition
is updated within the same flow. The defer function still updates theResource
andMirror
the condition to the top-levelCR
.Jira: OSPRH-5919
Jira: OSPRH-5698