-
Story
-
Resolution: Done
-
Major
-
None
-
None
-
None
Extend the Control Plane Informer in the Update Status Controller so it watches ClusterOperator resources in the cluster and maintains an update status insight for each.
The actual API structure for an update status insights needs to be taken from whatever state https://github.com/openshift/api/pull/2012 is at the moment. The story does not include the actual API form nor how it is exposed by the cluster (depending on the state of API approval, the USC may still expose the API as a ConfigMap or an actual custom resource), it includes just the logic to watch ClusterOperator resources and producing a matching set of cluster operator status insights.
The basic expectations for cluster operator status insights are described in the design docs
Definition of Done
- During the control plane upgrade, the status api contains a ClusterOperator status insight for each platform (hopefully we can use the same selection logic like we have in the prototype) ClusterOperator in the cluster
- Outside of control plane update, the cluster operator status insights are not present
- Updating condition:
- If a CO is updating right now (Progressing=True && does not have a target operator version), then Updating=True and a suitable reason
- Otherwise, if it has target version, Updating=False and Reason=Updated
- Otherwise, if it does not have target version, Updating=False and Reason=Pending
- Healthy condition
- Corresponds to the existing checks in the client prototype, taking into account the thresholds (Healthy=True if the "bad" condition is not holding long enough yet, but we may invent a special Reason for this case)
- This card does *not* involve creating Health Insights when there are unhealthy operators
- This card does *not* involve updating a ClusterVersion status insight from the CO-related data (such as completeness percentage or duration estimate)