Bug 1764540 - Downstream operator shows incorrect channel description from the packagemanifest in webconsole [NEEDINFO]
Summary: Downstream operator shows incorrect channel description from the packagemanif...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Management Console
Version: 4.3.0
Hardware: All
OS: All
high
medium
Target Milestone: ---
: 4.4.0
Assignee: Jon Jackson
QA Contact: Yadan Pei
URL:
Whiteboard:
: 1767070 (view as bug list)
Depends On:
Blocks: 1775723 1798646
TreeView+ depends on / blocked
 
Reported: 2019-10-23 09:46 UTC by zhaozhanqi
Modified: 2020-05-04 11:15 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Cause: PackageManifest items on the OperatorHub page were using the first item in the 'status.channels' property instead of the channel defined in the 'status.defaultChannel' property. Consequence: Incorrect descriptions might have been shown for some OperatorHub items. Fix: Update logic on the OperatorHub page to use the default channel instead of the first channel. Result: OperatorHub items now show description and other details from the default channel.
Clone Of:
: 1775723 (view as bug list)
Environment:
Last Closed: 2020-05-04 11:14:34 UTC
Target Upstream Version:
anbhatta: needinfo? (zzhao)


Attachments (Terms of Use)
packagemanifest-sriov (10.84 KB, text/plain)
2019-10-23 09:46 UTC, zhaozhanqi
no flags Details
picture for sriov (130.26 KB, image/png)
2019-10-23 09:47 UTC, zhaozhanqi
no flags Details


Links
System ID Priority Status Summary Last Updated
Github openshift console pull 3536 'None' closed Bug 1764540: Use default channel for OperatorHub item descriptions 2020-09-11 04:53:29 UTC
Red Hat Product Errata RHBA-2020:0581 None None None 2020-05-04 11:15:17 UTC

Description zhaozhanqi 2019-10-23 09:46:28 UTC
Created attachment 1628243 [details]
packagemanifest-sriov

Description of problem:
when using 'oc get packagemanifest sriov-network-operator -o yaml' with registry 'redhat-operators-art'. it will show two version description (4.2 and 4.3). and the defaultchannel is 4.3

from the attachment 'oc get packagemanifest sriov-network-operator -o yaml' ,you can see the following difference in the description:

4.2 is using namespace with 'sriov-network-operator'
4.3 is using namespace with 'openshift-sriov-network-operator'

but from webcosole, it shows 4.2 description. see picture attachment.

Version-Release number of selected component (if applicable):
4.3.0-0.nightly-2019-10-21-014711

How reproducible:
always

Steps to Reproduce:
1. setup 4.3 cluster
2. Create opsrc with registry 'redhat-operators-art'
3. oc get packagemanifest sriov-network-operator -o yaml 
4. Check the sriov description from webconsole(operatorhub->networking->sriov)

Actual results:
see above $description

Expected results:

since 4.2 and 4.3 is using different name for namespace. So in 4.3 version, it should show 4.3 description.

Additional info:

Comment 1 zhaozhanqi 2019-10-23 09:47:22 UTC
Created attachment 1628244 [details]
picture for sriov

Comment 6 Anik 2019-11-07 18:25:03 UTC
Tried to reproduce locally: 


$ oc get opsrc -n openshift-marketplace 

NAME                   TYPE          ENDPOINT              REGISTRY               DISPLAYNAME             PUBLISHER   STATUS      MESSAGE                                       AGE
community-operators    appregistry   https://quay.io/cnr   community-operators    Community Operators     Red Hat     Succeeded   The object has been successfully reconciled   25h
redhat-operators-art   appregistry   https://quay.io/cnr   redhat-operators-art   Red Hat Art Operators   Red Hat     Succeeded   The object has been successfully reconciled   23h


$ oc get packagemanifest sriov-network-operator -o yaml |grep defaultChannel
defaultChannel: "4.2"

Looks like the description from the default channel shows up. 

This is working as intended.

Comment 7 Anik 2019-11-08 15:04:51 UTC
Upon further testing, it looks like console does not select the description from the default channel's CSV. 

Further instructions on how to test this: 

How reproducible:
always

Steps to Reproduce:
1. setup 4.3 cluster
2. Disable all default operator source.
3. Create operator bundle that has two channels 4.2 and 4.3, and make 4.3 the default channel. I've modified the community-operators/quay operator bundle to reflect this (https://github.com/anik120/community-operators/tree/console-test/community-operators/quay)
4. Create opsrc that has the above mentioned operator bundle. (The quay namespace `anik120` has the above mentioned modified operator bundle and can be reused too)
5. `oc get packagemanifest quay -o yaml` shows that the descriptions for the CSV were set correctly in the packagemanifest  
6. Check the quay description from webconsole(operatorhub->quay)

Actual results:
4.2 description shows up

Expected results:

Since 4.3 is the default channel, console should pick up description for the 4.3 channel, and not the first one it gets.

Comment 9 zhaozhanqi 2019-11-27 02:39:35 UTC
Verified this bug on 4.4.0-0.nightly-2019-11-26-041012

Comment 10 Samuel Padgett 2020-02-05 17:55:25 UTC
*** Bug 1767070 has been marked as a duplicate of this bug. ***

Comment 12 errata-xmlrpc 2020-05-04 11:14:34 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, 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:0581


Note You need to log in before you can comment on or make changes to this bug.