Bug 1886308 - Default VolumeSnapshot Classes not created in External Mode
Summary: Default VolumeSnapshot Classes not created in External Mode
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenShift Container Storage
Classification: Red Hat Storage
Component: ocs-operator
Version: 4.6
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
: OCS 4.6.0
Assignee: arun kumar mohan
QA Contact: Rachael
URL:
Whiteboard:
Depends On:
Blocks: 1882359
TreeView+ depends on / blocked
 
Reported: 2020-10-08 07:26 UTC by Neha Berry
Modified: 2021-06-01 08:49 UTC (History)
10 users (show)

Fixed In Version: 4.6.0-144.ci
Doc Type: No Doc Update
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-12-17 06:24:44 UTC
Embargoed:


Attachments (Terms of Use)
screenshots from UI (215.95 KB, application/zip)
2020-10-08 07:26 UTC, Neha Berry
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2020:5605 0 None None None 2020-12-17 06:25:26 UTC

Description Neha Berry 2020-10-08 07:26:38 UTC
Created attachment 1719898 [details]
screenshots from UI

Description of problem (please be detailed as possible and provide log
snippests):
---------------------------------------------------------
In external mode, no default volume snapshot classes are getting created.

$ oc get volumesnapshotclass -A
No resources found


Version of all relevant components (if applicable):
------------------------------------------------------

OCS = ocs-operator.v4.6.0-585.ci
OCP = 4.6.0-0.nightly-2020-10-07-022140

Does this issue impact your ability to continue to work with the product
(please explain in detail what is the user impact)?
-----------------------------------------------------------
Yes. Default snapshotclass are created in Internal Mode and they are needed for creating snapshots of volumes.

Is there any workaround available to the best of your knowledge?
--------------------------------------------------------
Not sure. It should be created by default, similar to internal mode

Rate from 1 - 5 the complexity of the scenario you performed that caused this
bug (1 - very simple, 5 - very complex)?
---------------------------------------------------
3

Can this issue reproducible?
-----------------------------
Yes

Can this issue reproduce from the UI?
-----------------------------------------
Yes

If this is a regression, please provide more details to justify this:
------------------------------------------------------
No.

Steps to Reproduce:
----------------------
1. Create an external mode OCS cluster 
2. In UI, navigate to Storage->Volume Snapshot Classes. 
3. In CLI, run following command

#oc get volumesnapshotclass
  
Actual results:
-------------------------
No Volumesnapshotclass found. No default VS classes are created, unlike Internal mode

Expected results:
-----------------------

Default RBD and CephFS volume snapshot classes should be created.

>> In internal mode
--------------------
$ oc get volumesnapshotclass
NAME                                        DRIVER                                  DELETIONPOLICY   AGE
ocs-storagecluster-cephfsplugin-snapclass   openshift-storage.cephfs.csi.ceph.com   Delete           13d
ocs-storagecluster-rbdplugin-snapclass      openshift-storage.rbd.csi.ceph.com      Delete           13d


Additional info:
------------------------

Cluster info (No RGW information was passed in JSON)
--------------

Thu Oct  8 07:16:20 UTC 2020
--------------
========CSV ======
NAME                         DISPLAY                       VERSION        REPLACES   PHASE
ocs-operator.v4.6.0-585.ci   OpenShift Container Storage   4.6.0-585.ci              Succeeded
--------------
=======PODS ======
NAME                                               READY   STATUS    RESTARTS   AGE     IP             NODE        NOMINATED NODE   READINESS GATES
csi-cephfsplugin-7nrc2                             3/3     Running   0          5h14m   10.1.160.55    compute-1   <none>           <none>
csi-cephfsplugin-jnmvl                             3/3     Running   0          5h14m   10.1.160.157   compute-2   <none>           <none>
csi-cephfsplugin-provisioner-db5584d78-dvdvh       6/6     Running   1          5h14m   10.131.0.180   compute-1   <none>           <none>
csi-cephfsplugin-provisioner-db5584d78-qqmhr       6/6     Running   18         5h14m   10.128.2.52    compute-2   <none>           <none>
csi-cephfsplugin-tcpgx                             3/3     Running   0          5h14m   10.1.160.29    compute-0   <none>           <none>
csi-rbdplugin-jrphn                                3/3     Running   0          5h14m   10.1.160.55    compute-1   <none>           <none>
csi-rbdplugin-mj4hk                                3/3     Running   0          5h14m   10.1.160.29    compute-0   <none>           <none>
csi-rbdplugin-mprt8                                3/3     Running   0          5h14m   10.1.160.157   compute-2   <none>           <none>
csi-rbdplugin-provisioner-69b64c444c-7zf52         6/6     Running   0          5h14m   10.131.0.179   compute-1   <none>           <none>
csi-rbdplugin-provisioner-69b64c444c-thjbw         6/6     Running   14         5h14m   10.128.2.51    compute-2   <none>           <none>
noobaa-core-0                                      1/1     Running   0          13h     10.128.2.43    compute-2   <none>           <none>
noobaa-db-0                                        1/1     Running   0          13h     10.129.2.87    compute-0   <none>           <none>
noobaa-default-backing-store-noobaa-pod-b320bc4f   1/1     Running   0          13h     10.129.2.89    compute-0   <none>           <none>
noobaa-endpoint-74564859ff-4ddxr                   1/1     Running   0          13h     10.129.2.88    compute-0   <none>           <none>
noobaa-operator-6f88f6c766-n24nc                   1/1     Running   0          17h     10.128.2.23    compute-2   <none>           <none>
ocs-metrics-exporter-5d65889cbb-67m6l              1/1     Running   0          17h     10.128.2.24    compute-2   <none>           <none>
ocs-operator-c897bb859-d5hp7                       1/1     Running   0          17h     10.129.2.30    compute-0   <none>           <none>
rook-ceph-operator-67f9fff94b-nv74f                1/1     Running   0          5h15m   10.131.0.178   compute-1   <none>           <none>
--------------
======= PVC ==========
NAME                                               STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS                           AGE
db-noobaa-db-0                                     Bound    pvc-4f0d3c67-6948-48b8-a685-8f71121b5a69   50Gi       RWO            ocs-external-storagecluster-ceph-rbd   13h
noobaa-default-backing-store-noobaa-pvc-b320bc4f   Bound    pvc-77d643d8-44c9-4cc5-a738-f553ea4eba04   50Gi       RWO            ocs-external-storagecluster-ceph-rbd   13h
--------------
======= storagecluster ==========
NAME                          AGE   PHASE   EXTERNAL   CREATED AT             VERSION
ocs-external-storagecluster   13h   Ready   true       2020-10-07T17:26:17Z   4.6.0
--------------
======= cephcluster ==========
NAME                                      DATADIRHOSTPATH   MONCOUNT   AGE   PHASE       MESSAGE                          HEALTH
ocs-external-storagecluster-cephcluster                                13h   Connected   Cluster connected successfully   HEALTH_OK



$ oc get sc 
NAME                                   PROVISIONER                             RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
ocs-external-storagecluster-ceph-rbd   openshift-storage.rbd.csi.ceph.com      Delete          Immediate           true                   13h
ocs-external-storagecluster-cephfs     openshift-storage.cephfs.csi.ceph.com   Delete          Immediate           true                   13h
openshift-storage.noobaa.io            openshift-storage.noobaa.io/obc         Delete          Immediate           false                  13h
thin (default)                         kubernetes.io/vsphere-volume            Delete          Immediate           false                  19h

Comment 5 arun kumar mohan 2020-10-14 15:49:12 UTC
Added a PR: https://github.com/openshift/ocs-operator/pull/832
PS: PR is still a WIP, as the changes are being tested (and further changes anticipated)

Comment 6 arun kumar mohan 2020-10-23 13:21:49 UTC
PR tested. Both RBD and CephFS snapshotter features are working fine. Removed the WIP tag (from the PR).

But we have to document clearly that, snapshotter feature will work only when the remote ceph cluster supports 'ceph fs subvolume info' command.
@muagarwa ^^^

Comment 7 Neha Berry 2020-10-23 15:45:36 UTC
(In reply to arun kumar mohan from comment #6)
> PR tested. Both RBD and CephFS snapshotter features are working fine.
> Removed the WIP tag (from the PR).
> 
> But we have to document clearly that, snapshotter feature will work only
> when the remote ceph cluster supports 'ceph fs subvolume info' command.
> @muagarwa ^^^

Hi Arun,

One query

In case a customer doesn't have MDS on external RHCS cluster and hence "ceph fs subvolume info" doesn't work, will this affect creation of the default volumesnasphotclass for the RBD provisioner too ? I hope cephfs and rbd are independent... right ?

Is there a special restriction for rbd too ?

Comment 8 arun kumar mohan 2020-10-23 16:21:46 UTC
AFAIK, it should fail, but Madhu will be a better person to answer this...
@mrajanna , can you take a look...

Comment 10 arun kumar mohan 2020-10-23 18:04:03 UTC
Thanks Madhu.
The fix is merged in the master.
Created a backport PR for release-4.6: https://github.com/openshift/ocs-operator/pull/867

Comment 11 arun kumar mohan 2020-10-24 06:08:20 UTC
Backport complete, changes merged to release-4.6 branch.

As expressed earlier, this requires a clear documentation that states, for `cephfs` snapshotter to work we require a remote ceph cluster with `subvolume info` command support. As Madhu mentioned, RBD snapshotter works fine and has no dependency.
@muagarwa can you please have a look.

PS: tried to add `requires_doc +` ack, but don't have enough privilages.

Comment 13 Mudit Agarwal 2020-10-29 06:29:41 UTC
Arun, I have set require_doc_text to ? (it can be set to + only by doc team)

Anjana, before Arun fills the doc text I have one query:
Does this need a separate documentation BZ or can be added as a release note here itself.

Comment 16 arun kumar mohan 2020-12-03 07:30:57 UTC
Added the doc_text. Please take a look

Comment 18 Mudit Agarwal 2020-12-04 11:55:50 UTC
Yes Neha, we don't need the doc text for the fix because this is a feature bug.

We still need to document the minimum ceph version for external cluster and that we are already doing via https://bugzilla.redhat.com/show_bug.cgi?id=1892819
Resetting the doc text to '-'

Comment 20 errata-xmlrpc 2020-12-17 06:24:44 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: Red Hat OpenShift Container Storage 4.6.0 security, bug fix, enhancement 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-2020:5605


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