Solved

failed to provision volume with StorageClass "efs-sc": exceeds EFS limit of 100 characters

  • 19 December 2023
  • 3 comments
  • 503 views

Userlevel 2

Hello Folks
I've installed the Kasten on my K8s cluster.
When I go to the `Settings/System Information` section, I see that in `Storage Classes` section, it automatically recognizes my StorageClasses
* One `gp2`
* One `efs`

---

The `gp2` is in `Valid` Status, but, the `efs-sc` is in `Failed` Status.

When I hit the `revalidate`, I'll see that it creates a Pod and a PVC.

The PVC is stuck at the `Pending` and after a while, the task will fail again and delete those PVC and Pod

Here is the `describe` of that PVC:

```shell
$ k -n kasten-io describe pvc kanister-tools-rzbr6 
Name:          kanister-tools-rzbr6
Namespace:     kasten-io
StorageClass:  efs-sc
Status:        Pending
Volume:        
Labels:        createdBy=kanister
Annotations:   volume.beta.kubernetes.io/storage-provisioner: efs.csi.aws.com
               volume.kubernetes.io/storage-provisioner: efs.csi.aws.com
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:      
Access Modes:  
VolumeMode:    Filesystem
Used By:       <none>
Events:
  Type     Reason                Age               From                                                                                      Message
  ----     ------                ----              ----                                                                                      -------
  Warning  ProvisioningFailed    11s               efs.csi.aws.com_efs-csi-controller-7fd5785ccc-gbcm8_d69693a3-182f-4259-9134-2523fa4ff68b  failed to provision volume with StorageClass "efs-sc": rpc error: code = InvalidArgument desc = Proposed path '/MYCOMPANYNAME_eks_dynamic_provisioning/kasten-io/kanister-tools-rzbr6-961f6344-7586-4f69-8b99-a255c0b0f375' exceeds EFS limit of 100 characters
  Warning  ProvisioningFailed    10s               efs.csi.aws.com_efs-csi-controller-7fd5785ccc-gbcm8_d69693a3-182f-4259-9134-2523fa4ff68b  failed to provision volume with StorageClass "efs-sc": rpc error: code = InvalidArgument desc = Proposed path '/MYCOMPANYNAME_eks_dynamic_provisioning/kasten-io/kanister-tools-rzbr6-47c6e9e4-cf7b-4f07-a8f3-381b960fe90f' exceeds EFS limit of 100 characters
  Warning  ProvisioningFailed    8s                efs.csi.aws.com_efs-csi-controller-7fd5785ccc-gbcm8_d69693a3-182f-4259-9134-2523fa4ff68b  failed to provision volume with StorageClass "efs-sc": rpc error: code = InvalidArgument desc = Proposed path '/MYCOMPANYNAME_eks_dynamic_provisioning/kasten-io/kanister-tools-rzbr6-03760a91-7c95-4874-b3b8-4ef74574a4a2' exceeds EFS limit of 100 characters
  Normal   Provisioning          4s (x4 over 11s)  efs.csi.aws.com_efs-csi-controller-7fd5785ccc-gbcm8_d69693a3-182f-4259-9134-2523fa4ff68b  External provisioner is provisioning volume for claim "kasten-io/kanister-tools-rzbr6"
  Warning  ProvisioningFailed    4s                efs.csi.aws.com_efs-csi-controller-7fd5785ccc-gbcm8_d69693a3-182f-4259-9134-2523fa4ff68b  failed to provision volume with StorageClass "efs-sc": rpc error: code = InvalidArgument desc = Proposed path '/MYCOMPANYNAME_eks_dynamic_provisioning/kasten-io/kanister-tools-rzbr6-c13ca19e-62c8-42d5-8a93-55068f65f26c' exceeds EFS limit of 100 characters
  Normal   ExternalProvisioning  1s (x2 over 11s)  persistentvolume-controller                                                               Waiting for a volume to be created either by the external provisioner 'efs.csi.aws.com' or manually by the system administrator. If volume creation is delayed, please verify that the provisioner is running and correctly registered.
```

I appreciate any help.
 

 

P.S: I spend this issue on Kanister Github as well

See there for a nice view, the formatting here, is not good :D

https://github.com/kanisterio/kanister/issues/2554

icon

Best answer by Daniil.Fedotov 20 December 2023, 23:41

View original

3 comments

Userlevel 3
Badge +1

Hello @alifiroozi80 

 

So this is a hardlimit of the EFS CSI driver, my guess is a configuration issue related to the “Path” attribute making the creation of the PVC volume past 100 character’s. Please review the link below on more about the 100 character limit. 

 

https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html

 

Thanks

Emmanuel

Badge

The PVC access point name is likely auto-generated from the storage class using `MYCOMPANYNAME_eks_dynamic_provisioning` as basePath and something like `${.PVC.namespace}/${.PVC.name}` as a subPathPattern.
Now the K10 is trying to create a mount point with that storage class for `kanister-tools-rzbr6-c13ca19e-62c8-42d5-8a93-55068f65f26c` PVC, which looks like dynamically generated and just happens to go over 100 characters together with the rest of the path.

As a workaround you can cut down the pattern or basePath or change the subPathPattern in your storage class if that’s possible.

Userlevel 2

Thanks @Daniil.Fedotov

It’s worked after I delete the `basePath` from storage class

Comment