You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
pkg/cvo/status: Filter out immediate UpdateEffectNone errors nested in MultipleErrors in Failing condition
Various errors get propagated to users, such as the summarized task
graph error. For example, in the form of the message in the Failing
condition. However, update errors set with the update effect of
UpdateEffectNone can confuse users, as these primarily informing
messages get displayed together with valid update errors that heavily
impact the update. This can result in a message such as:
{
"lastTransitionTime": "2023-06-20T13:40:12Z",
"message": "Multiple errors are preventing progress:\n* Cluster
operator authentication is updating versions\n* Could not update
customresourcedefinition \"alertingrules.monitoring.openshift.io\"
(512 of 993): the object is invalid, possibly due to local cluster
configuration",
"reason": "MultipleErrors",
"status": "True",
"type": "Failing"
}
The Failing condition is not true because of the UpdateEffectNone
error ("Cluster operator authentication is updating versions"), but
its message still gets displayed.
This commit makes sure that update errors that do not heavily affect
the update will be removed from the MultipleErrors error in the Failing
condition message to an extent.
The filtered out errors from the message will still be displayed in the
logs and in other places, such as the ReconciliationIssues condition.
The original code handles correctly situations where the status failure
is an UpdateEffectNone error. The new changes leave such errors be. In
case the MultipleErrors error contains only UpdateEffectNone errors, the
error is unchanged to keep the original logic unchanged and keep the
commit simple. The goal of this commit is to remove unimportant messages
from MultipleErrors errors that contain valid messages in the Failing
condition.
The current code contains an override to set the Failing condition
when history is empty or the CVO is reconciling. This commit will keep
this logic functional. This means the filtering is only applied
when history is not empty and the CVO is not reconciling the payload.
Message: "Multiple errors are preventing progress:\n* Cluster operator A is not available\n* Cluster operator B is updating versions\n* Cluster operator C is degraded",
0 commit comments