# Allow customer to set RBD storage class as the default storage class for the cluster During odf installation via UI for infra with already existing "default" SC (eg: say gp3-csi): option should be default unchecked. for infra with no "default" SC (BM here): option should be default checked. ![Screenshot 2023-11-20 at 3.10.06 PM](https://hackmd.io/_uploads/HksKtsuNT.png) Confirmation that the option was choosen ![Screenshot 2023-11-20 at 3.29.18 PM](https://hackmd.io/_uploads/HkDLpkK46.png) ## Check the created storageclasses RBD storageclass is showing as default ``` ~ $ oc get storageclass NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE gp2-csi ebs.csi.aws.com Delete WaitForFirstConsumer true 89m gp3-csi (default) ebs.csi.aws.com Delete WaitForFirstConsumer true 89m ocs-storagecluster-ceph-rbd (default) openshift-storage.rbd.csi.ceph.com Delete Immediate true 4m ocs-storagecluster-cephfs openshift-storage.cephfs.csi.ceph.com Delete Immediate true 3m20s ``` If multiple storageclass are marked as default the latest one marked behaves as the default ## Check the annotations ``` ~ $ oc get storageclass ocs-storagecluster-ceph-rbd -o=jsonpath='{.metadata.annotations}' | jq { "description": "Provides RWO Filesystem volumes, and RWO and RWX Block volumes", "storageclass.kubernetes.io/is-default-class": "true" } ``` The default storageclass annotation is present ## Check by creating a PVC without storageclass name ``` ~ $ cat <<EOF | oc create -f - apiVersion: v1 kind: PersistentVolumeClaim metadata: name: rbd-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi EOF ``` ## Check if the pvc is bound to the default storageclass ``` ~ $ oc get pvc | grep rbd-pvc rbd-pvc Bound pvc-becc1bb1-0634-426d-a98b-7a53a105e9fe 1Gi RWO ocs-storagecluster-ceph-rbd 3m25s ```