apache / pulsar-helm-chart

Official Apache Pulsar Helm Chart
https://pulsar.apache.org/
Apache License 2.0
209 stars 221 forks source link

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

Open robertdumitrescu opened 1 month ago

robertdumitrescu commented 1 month ago

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

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 commented 1 month ago

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

robertdumitrescu commented 1 month ago

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 commented 1 month ago

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.