Subscription Conditions should be set to false, instead of being removed.
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.
Issues go stale after 90 days of inactivity. If there is no further activity, the issue will be closed in another 30 days.
This issue has been closed due to inactivity.