Skip to content
This repository has been archived by the owner on Nov 28, 2024. It is now read-only.

Re-init conditions each reconcile #345

Merged

Conversation

fmount
Copy link
Contributor

@fmount fmount commented Apr 5, 2024

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 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.

Jira: OSPRH-5919
Jira: OSPRH-5698

@fmount fmount requested review from dprince, rebtoor, abays and fao89 April 5, 2024 07:29
@openshift-ci openshift-ci bot requested review from fultonj and slagle April 5, 2024 07:30
@@ -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
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@dprince @abays FYI we bump ObservedGeneration at the beginning of the Reconciliation loop (as per [1]).

[1] openstack-k8s-operators/glance-operator#501

Copy link
Contributor

@abays abays left a 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
Copy link
Contributor Author

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

Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://review.rdoproject.org/zuul/buildset/d97ce0ec670e43d28877eb89fdc2841d

✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 00m 58s
podified-multinode-edpm-deployment-crc RETRY_LIMIT in 4s
cifmw-crc-podified-edpm-baremetal RETRY_LIMIT in 4s
✔️ ansibleee-operator-docs-preview SUCCESS in 2m 11s

@fmount
Copy link
Contributor Author

fmount commented Apr 5, 2024

recheck

Copy link
Contributor

openshift-ci bot commented Apr 5, 2024

[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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-bot openshift-merge-bot bot merged commit a61ca86 into openstack-k8s-operators:main Apr 5, 2024
7 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants