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:
code:
Events:
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:RPC instead of
NodeGetInfo
code:RPC. Ensure your CSI Driver implementsNodeGetId
code:before upgrading to 1.12NodeGetInfo(...)
- Kubernetes 1.12 also enables Kubelet device plugin registration feature by default. Before upgrading to 1.12, ensure the code:CSI sidecar container for your CSI driver is configured to handle plugin registration (set the
driver-registrar
code:parameter on--kubelet-registration-path
code:to expose a new unix domain socket to handle Kubelet Plugin Registration).driver-registrar
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.