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

[RFE]: Mounting multiple GlusterFS volumes fails if referencing one or more missing volumes on the server. #1060

Open
sky-philipalmeida opened this issue Apr 15, 2024 · 2 comments

Comments

@sky-philipalmeida
Copy link

sky-philipalmeida commented Apr 15, 2024

Is your feature request related to a problem? Please describe.
We recently bumped into an issue that took us some time to identify and it maybe affect production deploys in the future.
We had 92 kadalustorages objects to deploy each one with it's own dedicate gluster volume.
One of the objects was referencing a missing Gluster volume on the server.

Kadalu provisioner mounted the missing Gluster volume and by doing so it crashed and was not able to mount unmounted volumes.
The behaviour was not deterministic depending on ordering of the missing volume and there was no clear error message that would guide us on the correct path quick.

Describe the solution you'd like
Prevent Kadalu from trying to updating provisioner if volume does not exist (or any other error).
Prior to mount the volume test for volume presence and have a clear error message stating the volume was not mounted because it does not exist.

Replicate issue
Create multiple kadalustorages objects referencing diferent volumes.
Make sure at least one or more volumes do not exist on the server.
After creating the objects go into the provisioner shell (kadalu-csi-provisioner-0) and do a df -h . This command should hang.
In folder /mnt doing a ls | xargs -L 1 -d '\n' ls $0 would also hang but gives a chance to identify which mount is failing. It will only list volumes mounted correclly then it will hang on volumes not accessible.

@sky-philipalmeida sky-philipalmeida changed the title [RFE]: Mounting multiple Gluster volumes fails because of one missing gluster volume [RFE]: Mounting multiple Gluster volumes fails if referencing one or more missing gluster volumes on the server Apr 15, 2024
@sky-philipalmeida sky-philipalmeida changed the title [RFE]: Mounting multiple Gluster volumes fails if referencing one or more missing gluster volumes on the server [RFE]: Mounting multiple GlusterFS volumes fails if referencing one or more missing gluster volumes on the server Apr 15, 2024
@sky-philipalmeida sky-philipalmeida changed the title [RFE]: Mounting multiple GlusterFS volumes fails if referencing one or more missing gluster volumes on the server [RFE]: Mounting multiple GlusterFS volumes fails if referencing one or more missing volume on the server. Apr 15, 2024
@sky-philipalmeida sky-philipalmeida changed the title [RFE]: Mounting multiple GlusterFS volumes fails if referencing one or more missing volume on the server. [RFE]: Mounting multiple GlusterFS volumes fails if referencing one or more missing volumes on the server. Apr 15, 2024
@leelavg
Copy link
Collaborator

leelavg commented Apr 16, 2024

We had 92 kadalustorages objects to deploy each one with it's own dedicate gluster volume.

  • Is this correct? Each kds CR is configured in External mode w/ 1 PV : 1 Gluster Volume.

Kadalu provisioner mounted the missing Gluster volume

  • ack, need to check it, iirc we see if the gluster volume is reachable before mounting it at some places maybe we need to check that everywhere or we aren't handling errors properly

@sky-philipalmeida
Copy link
Author

Yes its correct, as soon I create the missing volume they all mount.

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