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

Multiple Path Round Robin #151

Open
stephenstubbs opened this issue Oct 22, 2020 · 2 comments
Open

Multiple Path Round Robin #151

stephenstubbs opened this issue Oct 22, 2020 · 2 comments
Labels
enhancement New feature or request

Comments

@stephenstubbs
Copy link

Hi,

Thank you for this great project. I'm currently trying to deploy multiple instances of the minio operator. Unfortunately their privisioner https://github.com/minio/direct-csi doesn't support multiple storage classes when deploying multiple instances of it like this project does.

I'm wondering is it possible for this provisioner to create the pvs in each path of a config using round robin instead of at random? Then I could use this for everything which would be great.

@innobead
Copy link
Collaborator

innobead commented Mar 2, 2021

Hi,

Thank you for this great project. I'm currently trying to deploy multiple instances of the minio operator. Unfortunately their privisioner https://github.com/minio/direct-csi doesn't support multiple storage classes when deploying multiple instances of it like this project does.

I'm wondering is it possible for this provisioner to create the pvs in each path of a config using round robin instead of at random? Then I could use this for everything which would be great.

Thanks for the idea and technically it's doable by having an extra layer to keep the path usage info. I will add to the backlog and see if any plan to do in the future.

@ccll
Copy link

ccll commented Jul 4, 2022

@innobead I'd like to contribute to this feature if it's not too complicated, and I'm glad to get some guidence.

The first intuition after glanced the code:

  1. Add a per-node ConfigMap option like policy to choose between random and round-robin, etc.
  2. Store the runtime per-node current round-robin index in some variable somewhere.
  3. Implement a getRoundRobinPathOnNode().
  4. Call getRandomPathOnNode() or getRoundRobinPathOnNode() depending on the policy config of the node.

Any thoughts?

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

No branches or pull requests

3 participants