MountDevice Failed for Volume "pvc-xyz"

Hi,

We have successfully installed the StorageCluster using Portworx
Version:

  • Operator v1.7.0
  • Openshift v4.10
  • Portworx v2.9

We are able to create pvc successfully on our Openshift, and we’ve verified that its successfully created in our FlashBlades.When we use this pvc with pods on “worker/app” nodes, it works fine. However when we wanted to mount this pvc from our infra pods (running on “worker/Infra” node), we got this error:

MountVolume.MountDevice failed for volume “pvc-a4ee4023-e5fd-44e6-bee1-8aa53ad9a603” : kubernetes.io/csi: attacher.MountDevice failed to create newCsiDriverClient: driver name pxd.portworx.com not found in the list of registered CSI drivers

Currently all StorageNodes are installed on worker/app nodes, and we are using provisioner “pxd(dot)portworx(dot)com”

Any idea on how we can solve it ?

Thanks,
Ian

Portworx does not deploy to master or infra nodes by default. Looking at the list of Portworx pods should show they are not deployed to the infra or master nodes.

You can use this thread for needed configuration Error installing in Openshift Codeready Containers

Hi @rwallner Thanks for your response,
So in order to use the pvc on the infra nodes, the portworx components need to be installed those nodes too ?

Yes, the above error is telling you portworx is not found on the infra node. In order to use/mount/attach portworx volumes to a node, portworx needs to be running on the node. You should simply be able to add the toleration to the StorageCluster spec to allow portworx to run on your infra nodes and portworx will automatically be installed and allow you to proceed. Note, portworx can run on infra nodes as “storage-less” meaning you dont have to have disks on those nodes, and this will still allow you to attach and mount volumes from the portworx cluster.

Looks good now, thanks a bunch @rwallner

Thanks,
Ian