Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] failed to provision volume with StorageClass "efs-sc": exceeds EFS limit of 100 characters #2554

Closed
alifiroozi80 opened this issue Dec 18, 2023 · 3 comments

Comments

@alifiroozi80
Copy link

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:

$ 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.

Copy link

Thanks for opening this issue 👍. The team will review it shortly.

If this is a bug report, make sure to include clear instructions how on to reproduce the problem with minimal reproducible examples, where possible. If this is a security report, please review our security policy as outlined in SECURITY.md.

If you haven't already, please take a moment to review our project's Code of Conduct document.

@infraq infraq added this to To Be Triaged in Kanister Dec 18, 2023
@hairyhum
Copy link
Contributor

Hi @alifiroozi80
This repo is for open-source kanister only and the issue you have seems to be related to kasten K10 product.
Please report to kasten k10 support https://community.veeam.com/groups/kasten-k10-support-92

Kanister automation moved this from To Be Triaged to Done Dec 20, 2023
@alifiroozi80
Copy link
Author

I'll post the answer here, and I hope it helps someone:

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 dynamically generated and 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 possible.

So, I removed the basePath in the storage class.
Here is the original issue on the Vaeem community

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

2 participants