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

Add "existingClaim" Property to Volumes for Improved Cloud Provider Compatibility #511

Open
robertdumitrescu opened this issue Jul 22, 2024 · 3 comments

Comments

@robertdumitrescu
Copy link

Is your feature request related to a problem? Please describe.

I'm somewhat frustrated when using selector and match labels with certain cloud providers and their associated storage classes, as they often reject it with errors stating that the claim selector is unsupported. This results in delays and issues with volume provisioning, as illustrated by the following logs:

Events:

  Type     Reason                Age                    From                                                                                  Message
  ----     ------                ----                   ----                                                                                  -------
  Normal   WaitForPodScheduled   29m                    persistentvolume-controller                                                           waiting for pod cloud-uat-pulsar-pulsar-manager-0 to be scheduled
  Normal   ExternalProvisioning  4m20s (x103 over 29m)  persistentvolume-controller                                                           Waiting for a volume to be created either by the external provisioner 'csi.scaleway.com' or manually by the system administrator. If volume creation is delayed, please verify that the provisioner is running and correctly registered.
  Normal   Provisioning          3m36s (x15 over 29m)   csi.scaleway.com_control-plane-67454bbc7c-27m4t_23cb3f3e-f839-4812-8222-af5aea247d4d  External provisioner is provisioning volume for claim "processing/cloud-uat-pulsar-pulsar-manager-data-cloud-uat-pulsar-pulsar-manager-0"
  Warning  ProvisioningFailed    3m36s (x15 over 29m)   csi.scaleway.com_control-plane-67454bbc7c-27m4t_23cb3f3e-f839-4812-8222-af5aea247d4d  failed to provision volume with StorageClass "sbs-default": claim Selector is not supported

Describe the solution you'd like
I would like to have an additional property for volumes called "existingClaim". This property would allow us to specify the name of an existing claim and volume that is fully managed by other tools. By doing so, it will provide more flexibility and compatibility with various cloud providers and their storage classes, circumventing the issue of unsupported claim selectors.

Describe alternatives you've considered

  • Trying to manually create claims and volumes as pulsar helm charts expects but this is incredibly limiting.
  • Using different storage classes or providers that do not have these restrictions, which might not always be feasible due to other dependencies and constraints.

Additional context
This feature would greatly enhance the compatibility and flexibility of volume management in environments with stringent storage class requirements. It would streamline the provisioning process and reduce the likelihood of encountering provisioning errors related to unsupported claim selectors.

@lhotari
Copy link
Member

lhotari commented Aug 1, 2024

@robertdumitrescu Thanks for filing the issue. This sounds like a useful improvement. Would you like to contribute the required changes?

@robertdumitrescu
Copy link
Author

Hey, thank you for your invitation. Unfortunately, I am fairly inexperienced in developing such functionalities and I would require a tremendous amount of hand-holding.

@lhotari
Copy link
Member

lhotari commented Aug 6, 2024

Hey, thank you for your invitation. Unfortunately, I am fairly inexperienced in developing such functionalities and I would require a tremendous amount of hand-holding.

If you are interested to contribute, I'll be willing to help. It's possible to join the Apache Pulsar Slack's #dev channel where you could ask for help from others in real-time.

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

No branches or pull requests

2 participants