Nutanix CSI Driver compatibility with Kubernetes 1.12/+

CSI Driver for Kubernetes was introduced one month ago leverages Nutanix Volumes (formerly known as ABS) to provide scalable and persistent storage for stateful applications. (For more info check this blog post )

With the recent Kubernetes 1.12 some breaking changes were introduced (More details mentioned here # 68688 ), it makes current CSI driver not working.

Volume mounting is failing with error like:



Type Reason Age From Message

---- ------ ---- ---- -------

Normal Scheduled 2m41s default-scheduler Successfully
assigned default/server-3-pbvzg to gfs3.local

Normal SuccessfulAttachVolume 2m41s attachdetach-controller AttachVolume.Attach
succeeded for volume "pvc-e12c700d-dc71-11e8-b694-506b8da94890"

Warning FailedMount 38s kubelet, gfs3.local Unable to mount volumes for pod "server-3-pbvzg_default(4b72238d-dcf1-11e8-b694-506b8da94890)": timeout expired waiting for volumes to attach or mount for pod "default"/"server-3-pbvzg". list of unmounted volumes=[mypvc-3]. list of unattached volumes=[mypvc-3 default-token-nvzpz]

Warning FailedMount 7s (x7 over 39s) kubelet, gfs3.local MountVolume.MountDevice failed for volume "pvc-e12c700d-dc71-11e8-b694-506b8da94890" : driver name com.nutanix.csi not found in the list of registered CSI drivers

From PR Add CSI action required to 1.12 release notes
  • In anticipation of CSI 1.0 in the next release, Kubernetes 1.12 calls the CSI [code]NodeGetInfo[/code] RPC instead of [code]NodeGetId[/code] RPC. Ensure your CSI Driver implements [code]NodeGetInfo(...)[/code] before upgrading to 1.12
  • Kubernetes 1.12 also enables Kubelet device plugin registration feature by default. Before upgrading to 1.12, ensure the [code]driver-registrar[/code] CSI sidecar container for your CSI driver is configured to handle plugin registration (set the [code]--kubelet-registration-path[/code] parameter on [code]driver-registrar[/code] to expose a new unix domain socket to handle Kubelet Plugin Registration).

Nutanix is aware of these changes and working on fix to address this RPC call changes for the CSI driver , will be available soon.

Please make sure to check the CSI documentation before upgrading to K8's 1.12 or above.

1 reply

The CSI Driver has been updated to work with the changes done on Kubernetes 1.12 side,

The CSI deployment link mentioned in the CSI documentation here , is up-to-date now.