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

Occasional incorrect processing of replacement chain when custom catalog source is used

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Not a Bug
    • Icon: Major Major
    • None
    • 4.11.z
    • OLM
    • None
    • Rejected
    • False
    • Hide

      None

      Show
      None
    • 4/26: telco reviewed

      Description of problem:

      In some cases, OLM fails to resolve a replacement chain in seemingly valid catalogs. Operator subscriptions get ResolutionFailed
      condition with empty channel name listing recent versions of the operator. Example:
      
      a unique replacement chain within a channel is required to determine the relative order between channel entries, but 2 replacement
      chains were found in channel "" of package "devworkspace-operator": devworkspace-operator.v0.15.3, devworkspace-operator.v0.16.0
      
      Once this occurs, subscription is stuck in this state, despite continuing to update the subscription; versions listed alternate
      order every few seconds. Issue is quickly resolved by restarting catalog-operator pod.
      
      It's unclear what triggers this, but some details about the cluster:
      
      * The referenced operator is installed from a custom catalog source; the same operator and channel is present in redhat-operators
      but has different versions available and a different replaces chain. However, neither of the versions listed above are available in
      the redhat-operators catalog.
      * The catalog is valid, and installing in a different cluster allows clean updates through all versions.
      * Catalog is using file-based catalogs; bundle files available here: https://github.com/devfile/devworkspace-operator/tree/main/olm-catalog/release

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

      reproduced last on OSD 4.11.5

      How reproducible:

      No reproducer, unclear trigger. However, encountered at least twice in the last few months for this specific operator install.

      Steps to Reproduce:

      1. Install catalog source using image quay.io/devfile/devworkspace-operator-index:release
      2. Install devworkspace-operator from this catalog via subscription
      3. (potentially, over time) operator updates will stop
      

      Actual results:

      Subscription gets ResolutionFailed condition
      
      a unique replacement chain within a channel is required to determine the relative order between channel entries, but 2 replacement 
      chains were found in channel "" of package "devworkspace-operator": devworkspace-operator.v0.15.3, devworkspace-operator.v0.16.0
      
      Similar error is logged by catalog-operator pod. Note channel name is blank and versions shown alternate order every few seconds. 
      Versions reflect current releases as of writing but has occurred with previous versions.

      Expected results:

      No error is expected. There is only one channel, named "fast", and output of opm render shows a clear replacement chain. Fresh 
      installs allow upgrades as normal.

      Additional info:

      Workarounds:
      * Restart catalog-operator pod in openshift-operator-lifecycle-manager namespace (delete running pod and let it be recreated)
      * Re-install operator

       

            agreene1991 Alexander Greene (Inactive)
            amisevsk Angel Misevski (Inactive)
            Xia Zhao Xia Zhao
            Votes:
            0 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated:
              Resolved: