Skip to content

Mounting static provisioned PV with nfsvers in mount options causes mount to fail #1692

@cailyoung

Description

@cailyoung

What happened:
Restarted a pod post-AKS-initiated upgrade from driver 1.29.1 to 1.29.2 that mounts a premium NFS File share with these options:

  mountOptions:                                                                                                                       
  - nfsvers=4.1                                                                                                                       
  - nconnect=4                                                                                                                        
  - lookupcache=positive

Pod stayed stuck in pending/init, with these errors:

MountVolume.MountDevice failed for volume "redacted" : │
│  rpc error: code = Internal desc = volume(redacted-prod#redacted#redacted###redacted) mount redacted. │
│ file.core.windows.net:/redacted/redacted on /var/lib/kubelet/plugins/kubernetes.io/csi/file.csi.azure.com/f │
│ 2aabae68a23cc910581f5b902983e3790adc3dadd5a621efae2b0f45bbbefef/globalmount failed with mount failed: exit status 32               │
│ Mounting command: mount                                                                                                            │
│ Mounting arguments: -t nfs -o lookupcache=positive,nconnect=4,nfsvers=4.1,vers=4,minorversion=1,sec=sys,noresvport,actimeo=30 reda │
│ cted.file.core.windows.net:/redacted/redacted /var/lib/kubelet/plugins/kubernetes.io/csi/file.csi.a │
│ zure.com/f2aabae68a23cc910581f5b902983e3790adc3dadd5a621efae2b0f45bbbefef/globalmount                                              │
│ Output: mount.nfs: multiple version options not permitted

What you expected to happen:
Volume should mount as per before with older CSI image version

How to reproduce it:

  • Create Premium file share
  • Create custom storage class without mount options, binding mode immediate
  • Create static persistent volume referring to the existing file share, mount options as above
  • Create PVC with ReadWriteMany referring to the static PV
  • Launch a deployment mounting the PVC

Anything else we need to know?:

Environment:

  • CSI Driver version: 1.29.1
  • Kubernetes version (use kubectl version): 1.28.3
  • OS (e.g. from /etc/os-release): Ubuntu 22.04 in AKS
  • Kernel (e.g. uname -a):
  • Install tools:
  • Others:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions