Bug 1910500 - Could not list CSI provisioner on web when create storage class on GCP platform
Summary: Could not list CSI provisioner on web when create storage class on GCP platform
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Management Console
Version: 4.7
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: 4.8.0
Assignee: Jakub Hadvig
QA Contact: Yadan Pei
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-12-24 08:28 UTC by Chao Yang
Modified: 2021-07-27 22:36 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Fixed an issue where CSI provisioners were not listed when creating a storage class in the web console.
Clone Of:
Environment:
Last Closed: 2021-07-27 22:35:38 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
CSIDrivers are listed dynamically (188.82 KB, image/png)
2021-03-17 07:25 UTC, Yadan Pei
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Github openshift console pull 8337 0 None open Bug 1910500: Fixes CSI provisioner additional parameters 2021-03-09 11:51:47 UTC
Red Hat Product Errata RHSA-2021:2438 0 None None None 2021-07-27 22:36:04 UTC

Description Chao Yang 2020-12-24 08:28:43 UTC
Description of problem:
Could not list CSI provisioner on web when create storage class

Version-Release number of selected component (if applicable):
4.7.0-0.nightly-2020-12-21-131655

How reproducible:
Always

Steps to Reproduce:
1.In the OCP web console, click storage--storage classes 
2.Click Create Storage Class
3.When click the drop down list of Provisioners, some csi related provisioner listed.

Actual results:
No csi related provisioner listed when create storage class on web

Expected results:
There should be some csi provisioners, such as pd.csi.storage.gke.io

Master Log:

Node Log (of failed PODs):

PV Dump:

PVC Dump:

StorageClass Dump (if StorageClass used by PV/PVC):

Additional info:

Comment 1 Jan Safranek 2021-01-05 12:20:43 UTC
Moving to Console. "Create Storage Class" page needs some updates:

1. It should allow users (admins) to set a custom provisioner, outside of the hardcoded list - they may want to use a custom provisioner for e.g. flex volumes.

2. In 4.6 we added some CSI drivers to the default installation and these new Provisioners should be added to the list:
   ebs.csi.aws.com
   csi.ovirt.org
   manila.csi.openstack.org

3. In 4.7, we're adding also:
   pd.csi.storage.gke.io
   cinder.csi.openstack.org

4. Instead of hardcoding the list of CSI drivers (= Provisioners) in 2. and 3., it's possible to list installed CSI drivers dynamically. List CSIDriver objects, "oc get csidriver", and collect CSIDriver.Name fields to get values allowed in StorageClass.Provisioner. Still, please keep the list of kubernetes.io/* provisioners there, they're hardcoded in Kubernetes and can't be listed (they're not CSI drivers by in-tree volume plugins).

Comment 2 Cyril 2021-02-03 21:54:57 UTC
Didn’t have time to work on this. Reassigning this to Jakub

Comment 5 Yadan Pei 2021-03-17 07:25:33 UTC
Created attachment 1763916 [details]
CSIDrivers are listed dynamically

I confirmed that on AWS cluster, CSIDrivers in the Provisioner list are dynamically listed.

# oc get csidrivers
NAME                   ATTACHREQUIRED   PODINFOONMOUNT   MODES        AGE
block.csi.ibm.com      true             false            Persistent   54s    (newly added CSIDriver)
ebs.csi.aws.com        true             false            Persistent   8h    (default CSIDriver on this AWS cluster)
example.ember-csi.io   true             true             Persistent   4m37s  (newly added CSIDriver)


All above CSIDrivers are listed in the Provisioner list, see screenshot

Comment 6 Yadan Pei 2021-03-17 07:35:46 UTC
console should be working as expected.

this seems a storage issue: missing CSIDriver for GCP PD

Comment 7 Ankush Behl 2021-03-17 07:48:00 UTC
Thanks, Yadan Pei, for confirming.

This PR on console https://github.com/openshift/console/pull/8337, the user will add the flexibility to add additional parameters
if the provisioner parameters are not known to the console.

Probably we can have a cloned bug to fix the storage backed for the GCP PD driver.

Comment 8 Yadan Pei 2021-03-17 09:08:32 UTC
> This PR on console https://github.com/openshift/console/pull/8337, the user will add the flexibility to add additional parameters
if the provisioner parameters are not known to the console

This sounds reasonable, if this is the issue we gonna fix in this bug I think the description should be totally different. 


> Probably we can have a cloned bug to fix the storage backed for the GCP PD driver

Open a new bug tracking the storage backend issue is the best

Comment 9 Chao Yang 2021-03-18 08:05:22 UTC
This is the storage bug for gcp csi driver 
https://bugzilla.redhat.com/show_bug.cgi?id=1939865

Comment 12 Yadan Pei 2021-04-12 02:45:55 UTC
1. check CSI drivers with CLI
# oc get csidriver
NAME                    ATTACHREQUIRED   PODINFOONMOUNT   STORAGECAPACITY   TOKENREQUESTS   REQUIRESREPUBLISH   MODES        AGE
pd.csi.storage.gke.io   true             false            false             <unset>         false               Persistent   84m

2. pd.csi.storage.gke.io is in the provisioners list on create storage class page
3. Install Operator for IBM block storage CSI driver then create some other csi drivers which are unknown to console
# oc get csv -n default
NAME                            DISPLAY                                     VERSION   REPLACES                        PHASE
ibm-block-csi-operator.v1.5.0   Operator for IBM block storage CSI driver   1.5.0     ibm-block-csi-operator.v1.4.0   Succeeded

# oc get csidriver
NAME                    ATTACHREQUIRED   PODINFOONMOUNT   STORAGECAPACITY   TOKENREQUESTS   REQUIRESREPUBLISH   MODES        AGE
block.csi.ibm.com       true             false            false             <unset>         false               Persistent   6s
pd.csi.storage.gke.io   true             false            false             <unset>         false               Persistent   94m

4. when `block.csi.ibm.com` is selected as provisioner, we show a section for use to add `Additional parameters` 

Verified on 4.8.0-0.nightly-2021-04-09-222447

Comment 16 errata-xmlrpc 2021-07-27 22:35:38 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 (Moderate: OpenShift Container Platform 4.8.2 bug fix and security update), 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/RHSA-2021:2438


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