Bug 1881540

Summary: The marketplace co should recover after other cluserOperators work well when the success ratio meets 0.3
Product: OpenShift Container Platform Reporter: Alexander Greene <agreene>
Component: OLMAssignee: Evan Cordell <ecordell>
OLM sub component: OLM QA Contact: Jian Zhang <jiazha>
Status: CLOSED ERRATA Docs Contact:
Severity: low    
Priority: low CC: anbhatta, jiazha, wking
Version: 4.5Keywords: Reopened
Target Milestone: ---   
Target Release: 4.6.z   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-09 15:50:58 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1857680    
Bug Blocks: 1881542    

Description Alexander Greene 2020-09-22 16:28:39 UTC
This bug was initially created as a copy of Bug #1857680

I am copying this bug because: It should be fixed in 4.6



Description of problem:
Only the "Upgradeable" and "Degraded" status set when the sync ratio > 0.3, lack of the "VERSION   AVAILABLE   PROGRESSING" conditions set.

[root@preserve-olm-env data]# oc get co
...
NAME                                       VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE
...
machine-config                             4.5.2     True        False         False      13m
marketplace                                                                    False  

Version-Release number of selected component (if applicable):
[root@preserve-olm-env data]# oc exec marketplace-operator-798d596899-6hjs4 -- marketplace-operator --version
Marketplace source git commit: eeeee277407370e56b445a9c6630507161bb16d3
time="2020-07-16T10:31:53Z" level=info msg="Go Version: go1.13.4"
time="2020-07-16T10:31:53Z" level=info msg="Go OS/Arch: linux/amd64"
time="2020-07-16T10:31:53Z" level=info msg="operator-sdk Version: v0.8.0"

How reproducible:
always

Steps to Reproduce:
1. Install OCP 4.5.2.
2. Create some invlide CRs.
3. check the marketplace cluster operator.

Actual results:
Lack of the "VERSION   AVAILABLE   PROGRESSING SINCE" conditions status. And, get the errors:
[root@preserve-olm-env data]# oc get clusterversion
NAME      VERSION   AVAILABLE   PROGRESSING   SINCE   STATUS
version             False       True          47m     Unable to apply 4.5.2: the cluster operator marketplace has not yet successfully rolled out

[root@preserve-olm-env data]# oc get co marketplace -o yaml
apiVersion: config.openshift.io/v1
kind: ClusterOperator
metadata:
  creationTimestamp: "2020-07-16T01:48:36Z"
  generation: 1
  managedFields:
  - apiVersion: config.openshift.io/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:spec: {}
      f:status:
        .: {}
        f:extension: {}
        f:versions: {}
    manager: cluster-version-operator
    operation: Update
    time: "2020-07-16T01:48:37Z"
  - apiVersion: config.openshift.io/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:status:
        f:conditions: {}
        f:relatedObjects: {}
    manager: marketplace-operator
    operation: Update
    time: "2020-07-16T02:21:34Z"
  name: marketplace
  resourceVersion: "24582"
  selfLink: /apis/config.openshift.io/v1/clusteroperators/marketplace
  uid: 45aed17c-8c42-4471-83a2-e44efa6bd0f7
spec: {}
status:
  conditions:
  - lastTransitionTime: "2020-07-16T02:02:12Z"
    message: Marketplace is upgradeable
    reason: OperatorAvailable
    status: "True"
    type: Upgradeable
  - lastTransitionTime: "2020-07-16T02:01:52Z"
    message: Current CR sync ratio (0.9189189) meets the expected success ratio (0.3)
    reason: OperandTransitionsSucceeding
    status: "False"
    type: Degraded
  extension: null
  relatedObjects:
  - group: ""
    name: openshift-marketplace
    resource: namespaces
  - group: operators.coreos.com
    name: ""
    namespace: openshift-marketplace
    resource: OperatorSource
  - group: operators.coreos.com
    name: ""
    namespace: openshift-marketplace
    resource: CatalogSource


Expected results:
All conditions should be set. 

Additional info:
I think the root casue is here: https://github.com/operator-framework/operator-marketplace/blob/release-4.5/pkg/status/status.go#L339-L353

Comment 1 Alexander Greene 2020-09-22 16:31:18 UTC
This bug does not exist in 4.6because the ratio logic was removed in 4.6

Comment 2 Alexander Greene 2020-09-22 16:31:40 UTC
This bug does not exist in 4.6 because the ratio logic was removed in 4.6

Comment 9 errata-xmlrpc 2020-11-09 15:50:58 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (OpenShift Container Platform 4.6.3 bug fix update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:4339