Configure NFS Ganesha to Use NFSv4.1 by Default

Currently, when we enable the NFS Ganesha unit in the Sylva deployment, it supports both NFS version 3 and version 4. However, by default, it is configured to use NFSv3.

After a successful deployment of the NFS Ganesha unit, the storage class nfs-ganesha is created, and it explicitly mentions NFS version 3 in its mount options, as shown below:

root@bootstrap-otc-caas:/home/ubuntu/sylva-core# kubectl describe sc nfs-ganesha
Name:                  nfs-ganesha
IsDefaultClass:        No
Annotations:           meta.helm.sh/release-name=nfs-ganesha,meta.helm.sh/release-namespace=nfs-ganesha
Provisioner:           cluster.local/nfs-ganesha-nfs-server-provisioner
Parameters:            <none>
AllowVolumeExpansion:  True
MountOptions:
  vers=3
  retrans=2
  timeo=30
ReclaimPolicy:      Delete
VolumeBindingMode:  Immediate
Events:             <none>

Verification:-

Below is the output of mount command inside a pod which is using nfs-ganesha storage class

100.73.159.8:/export/pvc-3fcb5fd9-518b-44de-97ed-d287ed255a17 on /mnt/volume type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=30,retrans=2,sec=sys,mountaddr=100.73.159.8,mountvers=3,mountport=20048,mountproto=udp,local_lock=none,addr=100.73.159.8)
Assignee Loading
Time tracking Loading