-
Feature
-
Resolution: Unresolved
-
Normal
-
None
-
rhos-18.0.0
-
None
-
None
-
S
-
False
-
-
False
-
Not Selected
-
?
-
?
-
?
-
?
-
75% To Do, 0% In Progress, 25% Done
-
-
Problem
If a CR status condition message contains dynamic data, e.g a list of missing secrets, a list of DBs failed to be created, and such list does not have a stable ordering (e.g. because the input coming from a map) then the generated condition message could change for each reconcile without any change in the actual status of the CR. A changing status message trigger reconciles to any other CRs watching casing unnecessary load in the system or even lead to reconcile loops.
Here is an example of an unstable condition message: https://github.com/openstack-k8s-operators/nova-operator/blob/main/controllers/nova_controller.go#L311-L352
Suggested solution
Review all our operators and search for condition message with dynamic data. Than make sure that such dynamic data has stable ordering (e.g. add a sorting if necessary)
NOTE: If you dislike that I opened a feature for this then please let me know how can I better track a single piece of work that affects all our operators in a meaningful way in our Jira process.