Bug 1845031

Summary: [CNV 2.4][UI] openshift-cnv namespace is not created during installation and not used when exists
Product: OpenShift Container Platform Reporter: Radim Hrazdil <rhrazdil>
Component: Management ConsoleAssignee: Jakub Hadvig <jhadvig>
Status: CLOSED ERRATA QA Contact: Yadan Pei <yapei>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 4.5CC: aos-bugs, cnv-qe-bugs, jhadvig, jokerman, ocohen, stirabos, yapei
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:
Last Closed: 2020-10-27 16:05:58 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: 1845602, 1845639    

Description Radim Hrazdil 2020-06-08 10:32:46 UTC
Description of problem:
When user procieeds installation steps for CNV Operator from 2.4 channel, the namespace openshift-cnv is not created automatically.
When namespace openshift-cnv is created before the installation, it isn't used when user navigates to the OperatorHub from a different namespace (for example, openshift-cnv ns is created with CLI, user is currently in Default namespace in the UI and navigates to Operator Hub to install CNV Operator). Instead, the last active namespace is used (In the previous example, it would be Default).

Version-Release number of selected component (if applicable):
4.5.0-rc.1
CNV-2.4

How reproducible:
100%

Steps to Reproduce:
a)
1. Make sure openshift-cnv namespace doesn't exist
2. Navigate to OperatorHub, search container-native, click install, select 2.4 channel, click install

b) 
1) Create openshift-cnv namespace
2) Switch to 'Default' project
3) Navigate to OperatorHub, search container-native, click install, select 2.4 channel, click install


Actual results:
the Openshift Virtualization operator is deployed to the last active namespace, not openshift-cnv

Expected results:

a) openshift-cnv namespace should be created for the user

b) when openshift-cnv namespace exists, it should be used instead of the least recently used namespace
   it shouldn't matter from which namespace the user navigates to the operatorHub


Additional info:

Comment 1 Simone Tiraboschi 2020-06-08 10:44:47 UTC
`operatorframework.io/suggested-namespace: openshift-cnv` is still in the CSV, maybe a regression on OLM console.

Comment 2 Oren Cohen 2020-06-08 15:55:13 UTC
@Radim, same happens if you install CNV 2.3 channel on your same OCP 4.5 cluster?

Comment 3 Radim Hrazdil 2020-06-08 19:43:38 UTC
Hello Oren, yes it happens for CNV 2.3 as well.

Í believe I found where the problem lays.
When I leave the radio button for the channel selection with its defaulf value, the openshift-cnv namespcae is correctly created and if exists, it is correctly used.
However, when I change the channel (2.3 -> 2.x), the behaviour is as stated in the BZ Description.

Seems very much like a UI bug.
I'm moving this to OCP Management Console

Comment 6 Yadan Pei 2020-06-29 06:27:41 UTC
Radim, could you please let me know how to install CNV 2.4? in OCP 4.6 we only have 2.1, 2.2 and 2.3 channels in OperatorHub by default.

Comment 7 Radim Hrazdil 2020-06-29 09:34:16 UTC
Discussed over private channel
I deployed the catalog source for d/s OpenShift virtualization.

Comment 8 Yadan Pei 2020-06-29 10:01:04 UTC
1. Make sure openshift-cnv namespace doesn't exist, install OpenShift Virtualization Operator via OperatorHub
2. on creation page, it will prompts "Namespace openshift-cnv does not exist and will be created", click Install button to continue the following process 
3. OpenShift Virtualization Operator will be subscribed into openshift-cnv namespace
# oc get csv -n openshift-cnv
NAME                                      DISPLAY                      VERSION   REPLACES   PHASE
kubevirt-hyperconverged-operator.v2.4.0   OpenShift virtualization     2.4.0                Installing
4. Uninstall OpenShift Virtualization Operator
5. try to subscribe OpenShift Virtualization Operator again from OperatorHub, this time openshift-cnv namespace exists so it will prompt message "Namespace openshift-cnv already exists and will be used. Other users can already have access to this namespace.", click Install button to continue the following process
6. OpenShift Virtualization Operator will be subscribed into openshift-cnv namespace too

Verified on OpenShift virtualization 2.4.0 and 4.6.0-0.nightly-2020-06-26-035408

Comment 10 errata-xmlrpc 2020-10-27 16:05: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 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