Bug 1843808

Summary: Virtual Machines are not displayed when logged as non admin user
Product: OpenShift Container Platform Reporter: Yaacov Zamir <yzamir>
Component: Console Kubevirt PluginAssignee: Yaacov Zamir <yzamir>
Status: CLOSED ERRATA QA Contact: Guohua Ouyang <gouyang>
Severity: high Docs Contact:
Priority: urgent    
Version: 4.5CC: aos-bugs, fkrepins, gouyang, ncredi, rhrazdil, tjelinek, yzamir
Target Milestone: ---   
Target Release: 4.5.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Cause: none-admin user can't list virtualmachineimports, vm list waits for the virtualmachineimports data to render Consequence: vm list is not rendered Fix: not waiting for virtualmachineimports before listing vms Result: vm list is rendered
Story Points: ---
Clone Of: 1843780 Environment:
Last Closed: 2020-07-13 17:43:10 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: 1843780    
Bug Blocks:    

Description Yaacov Zamir 2020-06-04 08:13:47 UTC
+++ This bug was initially created as a clone of Bug #1843780 +++

Description of problem:
When logged in as non-admin user in a namespace created by this non-admin user, 
created Virtual Machines are not displayed in the Virtualization.
Browser console reads lots of 403 errors.

After discussion with Yaacov, the issue is probably either:
- if virtualmachineimports are not allowed for non-admin user, UI should ignore the missing data  => UI bug

- if virtualmachineimports should be allowed for non-admin user, UI should display an error instead of failing silently => UI bug + CNV permissions bug

```
oc get virtualmachineimports
No resources found.
Error from server (Forbidden): virtualmachineimports.v2v.kubevirt.io is forbidden: User "test" cannot list resource "virtualmachineimports" in API group "v2v.kubevirt.io" in the namespace "test"
when in none-admin we cant get virtualmachineimports
```

Version-Release number of selected component (if applicable):
4.5.0-0.nightly-2020-06-02-220939

How reproducible:
100%

Steps to Reproduce:
1. log in as non-admin user
2. create a VM
3. navigate to Virtualization -> Virtual Machines

Actual results:


Expected results:


Additional info:

--- Additional comment from Yaacov Zamir on 2020-06-04 06:30:43 UTC ---

@Filip, hi

In this case vmImports is not null, and also not loaded ( it has an error )
we have a line that should handle cases where user can not get virtualmachineimports [1] should it also handle this case ?

const isVMImportLoaded = !vmImports || vmImports.loaded; // go in when CRD missing

[1] https://github.com/openshift/console/blob/master/frontend/packages/kubevirt-plugin/src/components/vms/vm.tsx#L255

--- Additional comment from Yaacov Zamir on 2020-06-04 08:04:22 UTC ---

targeting to 4.6 , since this is high profile, we may want to backport to 4.5

@Tomas FYI

--- Additional comment from Yaacov Zamir on 2020-06-04 08:07:59 UTC ---

after off line discusstion, cloning to 4.5 too

Comment 5 Guohua Ouyang 2020-06-23 05:00:38 UTC
verified on 4.5.0-rc.2

Comment 6 errata-xmlrpc 2020-07-13 17:43:10 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:2409