operator-lifecycle-manager icon indicating copy to clipboard operation
operator-lifecycle-manager copied to clipboard

Subscription Conditions should be set to false, instead of being removed.

Open anik120 opened this issue 1 year ago • 1 comments

Feature Request

Is your feature request related to a problem? Please describe.

According to upstream API conventions, conditions on a CR should be set to true/false, and not removed. Some of the conditions for the subscription CR were being removed, while some were following the upstream convention. This confusion led to bugs in turn. See https://github.com/operator-framework/operator-lifecycle-manager/pull/3170#discussion_r1478579459

https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties

Controllers should apply their conditions to a resource the first time they visit the resource, even if the status is Unknown. This allows other components in the system to know that the condition exists and the controller is making progress on reconciling that resource.

Not all controllers will observe the previous advice about reporting "Unknown" or "False" values. For known conditions, the absence of a condition status should be interpreted the same as Unknown, and typically indicates that reconciliation has not yet finished (or that the resource state may not yet be observable).

Describe the solution you'd like

Set all conditions to the correct state once resolution is successful, in a consistent manner for all conditions.

anik120 avatar Feb 05 '24 16:02 anik120

Issues go stale after 90 days of inactivity. If there is no further activity, the issue will be closed in another 30 days.

github-actions[bot] avatar Jun 02 '25 01:06 github-actions[bot]

This issue has been closed due to inactivity.

github-actions[bot] avatar Jul 03 '25 01:07 github-actions[bot]