Bug 1851213

Summary: OLM cluster operator `relatedObjects` doesn't specify `resource` correctly
Product: OpenShift Container Platform Reporter: Samuel Padgett <spadgett>
Component: OLMAssignee: Ankita Thomas <ankithom>
OLM sub component: OLM QA Contact: Bruno Andrade <bandrade>
Status: CLOSED ERRATA Docs Contact:
Severity: medium    
Priority: medium CC: ankithom, bandrade, dsover, jiazha, krizza
Version: 4.6   
Target Milestone: ---   
Target Release: 4.6.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Version: 4.6.0-0.ci-2020-06-24-223142 Cluster ID: 707aa603-21f7-4db5-bddf-931da4565115 Browser: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Firefox/78.0
Last Closed: 2020-10-27 16:09:42 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Samuel Padgett 2020-06-25 19:13:55 UTC
The `relatedObjects` stanza for some OLM cluster operators is incorrect. The `resource` property should be the lowercase, plural value like `clusterserviceversions`. In several cases, the camel-case kind like `ClusterServiceVersion` is used. This breaks links to these related objects in console.

I've noticed this problem with the operator-lifecycle-manager, operator-lifecycle-manager-packageserver, and marketplace cluster operators.


* operator-lifecycle-manager

  relatedObjects:
    - group: operators.coreos.com
      name: packageserver
      namespace: openshift-operator-lifecycle-manager
      resource: ClusterServiceVersion
    - group: ''
      name: openshift-operator-lifecycle-manager
      resource: namespaces


* operator-lifecycle-manager-packageserver

  relatedObjects:
    - group: ''
      name: openshift-operator-lifecycle-manager
      resource: namespaces
    - group: operators.coreos.com
      name: packageserver
      namespace: openshift-operator-lifecycle-manager
      resource: ClusterServiceVersion


* marketplace

  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

Comment 6 Ankita Thomas 2020-07-20 15:51:49 UTC
Hi Bruno,

From what I can see, release-4.6 is currently even with master, I've verified that it has the PR in it already. Can you try again and see if it's still not present?

https://github.com/operator-framework/operator-lifecycle-manager/commits/release-4.6?before=adeb8ab1fb28bf5b40ffceb9defd890cde3d7734+35

Comment 7 Bruno Andrade 2020-07-20 16:47:04 UTC
Hi Ankita,

Sorry, I just saw the PR target to master and didn't know that release-4.6 was even with master. I will verify it, thanks. Moving to ON_QA again.

Comment 8 Bruno Andrade 2020-07-20 17:09:25 UTC
Checked on 4.6.0-0.nightly-2020-07-20-115146, git commit: 171bd7e75f85f08092be14e892c57851a94cb9eb. operator-lifecycle-manager and operator-lifecycle-manager-packageserver looks good. However marketplace still have OperatorSource and CatalogSource. Moving to ASSIGNED.


oc get clusteroperator operator-lifecycle-manager -o yaml
  relatedObjects:
  - group: operators.coreos.com
    name: packageserver
    namespace: openshift-operator-lifecycle-manager
    resource: clusterserviceversions
  - group: ""
    name: openshift-operator-lifecycle-manager
    resource: namespaces

oc get clusteroperator operator-lifecycle-manager-packageserver -o yaml
  relatedObjects:
  - group: ""
    name: openshift-operator-lifecycle-manager
    resource: namespaces
  - group: operators.coreos.com
    name: packageserver
    namespace: openshift-operator-lifecycle-manager
    resource: clusterserviceversions

oc get clusteroperator marketplace -o yaml

  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

Comment 10 Bruno Andrade 2020-07-23 13:36:52 UTC
LGTM on 4.6.0-0.nightly-2020-07-23-080857, marking as VERIFIED.

oc get clusteroperator operator-lifecycle-manager -o yaml
  relatedObjects:
  - group: operators.coreos.com
    name: packageserver
    namespace: openshift-operator-lifecycle-manager
    resource: clusterserviceversions
  - group: ""
    name: openshift-operator-lifecycle-manager
    resource: namespaces

oc get clusteroperator operator-lifecycle-manager-packageserver -o yaml
  relatedObjects:
  - group: ""
    name: openshift-operator-lifecycle-manager
    resource: namespaces
  - group: operators.coreos.com
    name: packageserver
    namespace: openshift-operator-lifecycle-manager
    resource: clusterserviceversions

oc get clusteroperator marketplace -o yaml
  relatedObjects:
  - group: ""
    name: openshift-marketplace
    resource: namespaces
  - group: operators.coreos.com
    name: ""
    namespace: openshift-marketplace
    resource: operatorsources
  - group: operators.coreos.com
    name: ""
    namespace: openshift-marketplace
    resource: catalogsources
  versions:
  - name: operator
    version: 4.6.0-0.nightly-2020-07-23-080857
cf

Comment 12 errata-xmlrpc 2020-10-27 16:09:42 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 GA Images), 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:4196