Bug 1764540

Summary: Downstream operator shows incorrect channel description from the packagemanifest in webconsole
Product: OpenShift Container Platform Reporter: zhaozhanqi <zzhao>
Component: Management ConsoleAssignee: Jon Jackson <jonjacks>
Status: CLOSED ERRATA QA Contact: Yadan Pei <yapei>
Severity: medium Docs Contact:
Priority: high    
Version: 4.3.0CC: anbhatta, aos-bugs, dmesser, ecordell, jokerman, nmukherj, rhallise, spadgett
Target Milestone: ---Keywords: Reopened
Target Release: 4.4.0   
Hardware: All   
OS: All   
Whiteboard:
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.
Story Points: ---
Clone Of:
: 1775723 (view as bug list) Environment:
Last Closed: 2020-05-04 11:14:34 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:
Bug Depends On:    
Bug Blocks: 1775723, 1798646    
Attachments:
Description Flags
packagemanifest-sriov
none
picture for sriov none

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

Comment 13 Red Hat Bugzilla 2023-09-14 05:44:53 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days