Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-12165

Wrong cleanup of stale conditions from OCPBUGS-2783


    • Icon: Bug Bug
    • Resolution: Done-Errata
    • Icon: Undefined Undefined
    • 4.14.0
    • 4.12.0
    • Management Console
    • None
    • -
    • Critical
    • No
    • False
    • Hide


    • N/A
    • Release Note Not Required

      Description of problem:

      While updating a cluster to 4.12.11, which contains the bug fix for [OCPBUGS-7999|https://issues.redhat.com/browse/OCPBUGS-7999] (which is the 4.12.z backport of [OCPBUGS-2783|https://issues.redhat.com/browse/OCPBUGS-2783], it seems that the older {{{Custom|Default}RouteSync{Degraded|Progressing}}} conditions are not cleaned up as they should, as per [OCPBUGS-2783|https://issues.redhat.com/browse/OCPBUGS-2783] resolution, while the newer ones are added.
      Due to this, on an upgrade to 4.12.11 (or higher, until this bug is fixed), it is possible to hit a problem very similar to the one that lead to [OCPBUGS-2783|https://issues.redhat.com/browse/OCPBUGS-2783] in the first place, but while upgrading to 4.12.11.
      So, we need to do a proper cleanup of the older conditions.

      Version-Release number of selected component (if applicable):

      4.12.11 and higher

      How reproducible:

      Always in what regards the wrong conditions. It only leads to issues if one of the wrong conditions was in unhealthy state.

      Steps to Reproduce:

      1. Upgrade

      Actual results:

      Both new (and correct) conditions plus older (and wrong) conditions.

      Expected results:

      Both new (and correct) conditions only.

      Additional info:

      Problem seems to be that the stale conditions controller is created[1] with a list that says {{CustomRouteSync}} and {{DefaultRouteSync}}, while that list should be {{CustomRouteSyncDegraded}}, {{CustomRouteSyncProgressing}}, {{DefaultRouteSyncDegraded}} and {{DefaultRouteSyncProgressing}}. I read the source code of the controller a bit and it seems that it does not admit prefixes but performs a literal comparison.
      [1] - https://github.com/openshift/console-operator/blob/0b54727/pkg/console/starter/starter.go#L403-L404

            jhadvig@redhat.com Jakub Hadvig
            rhn-support-palonsor Pablo Alonso Rodriguez
            Yanping Zhang Yanping Zhang
            1 Vote for this issue
            11 Start watching this issue