Consider using manila-csi
https://gitlab.cern.ch/chaen/diracchart/-/blob/master/charts/dirac/templates/master-cs-pvc.yaml#L7-23 creates a storage class for manila-provisioner, but that has been deprecated and is not deployed in Magnum clusters anymore.
These are the storage classes currently deployed by default with Magnum k8s 1.22 cluster template:
$ kubectl get storageclasses
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
geneva-cephfs-testing cephfs.manila.csi.openstack.org Retain Immediate true 22h
meyrin-cephfs cephfs.manila.csi.openstack.org Retain Immediate true 22h
meyrin-cephfs-vault-ssd-a cephfs.manila.csi.openstack.org Retain Immediate true 22h
If classes for other share types are needed, they can be created like so:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: *** name ***
provisioner: cephfs.manila.csi.openstack.org
reclaimPolicy: *** Retain|Delete ***
allowVolumeExpansion: true
parameters:
type: *** Manila share type name ***
csi.storage.k8s.io/provisioner-secret-name: os-trustee
csi.storage.k8s.io/provisioner-secret-namespace: kube-system
csi.storage.k8s.io/controller-expand-secret-name: os-trustee
csi.storage.k8s.io/controller-expand-secret-namespace: kube-system
csi.storage.k8s.io/node-stage-secret-name: os-trustee
csi.storage.k8s.io/node-stage-secret-namespace: kube-system
csi.storage.k8s.io/node-publish-secret-name: os-trustee
csi.storage.k8s.io/node-publish-secret-namespace: kube-system