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

Wrong cleanup of stale conditions from OCPBUGS-2783

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • 4.12.z
    • 4.12.0
    • Management Console
    • None
    • Critical
    • No
    • False
    • Hide

      None

      Show
      None

      This is a clone of issue OCPBUGS-12722. The following is the description of the original issue:

      This is a clone of issue OCPBUGS-12165. The following is the description of the original issue:

      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
      2.
      3.
      

      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
            openshift-crt-jira-prow OpenShift Prow Bot
            Yanping Zhang Yanping Zhang
            Votes:
            1 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: