-
Notifications
You must be signed in to change notification settings - Fork 62
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
CSI directory not bind-mounted to podman containers under 1.3.0 #168
Comments
Hi @optiz0r I looked at this a bit and I think there's some issue with podman volume mounting in general, and we need bind-mounting to work in order to configure the mounts needed for CSI. It looks like you ran into this in an unrelated issue in #142. The podman driver documents that support for the volume mounting Capability is "none". This is a little odd because the capabilties struct is showing the default for (Podman does document support for I'm going to move this issue into the podman repo. I haven't spent much time at all in that codebase, so it'll take me a little bit to get up to speed to do more investigation. |
Thanks. It makes sense that proper mount support would be needed to make this work. Perhaps this should just be considered a duplicate of #142, being another usecase for needing the same functionality. Happy for you to close this in favour of the other issue if you think that makes sense. |
Let's keep it open for now just in case there's a second layer to the problem once we start unpacking it 😀 |
I've built and tested this, seems to be working for democratic-csi too. Thanks for the very quick turnaround! |
Nomad version
Nomad v1.3.0 (52e95d64113e01be05d585d8b4c07f6f19efebbc)
Operating system and Environment details
Issue
The CSI directory (
/opt/nomad/data/client/csi/plugin/${uuid}
) does not get bind-mounted into a job which defines thecsi_plugin
stanza. This meansa) the directory the application should be creating the
csi.sock
socket into, may not existb) Nomad marks the task as failed after a short time because the csi socket does not appear to be fingerprinted.
This behaviour appears to be specific to the podman task driver, since when the same job is run under the docker or exec drivers, the
/csi
directory does exist.(I think this used to work under previous nomad versions, but I stopped using it a while ago due to the stale allocations issue, and actually this might have been under the docker driver rather than the podman one)
Reproduction steps
Expected Result
For the provided job spec,
ls
should succeed.For an actual csi controller job:
Actual Result
Stderr from job:
Job-level logs:
Job file (if appropriate)
Nomad Server logs (if appropriate)
N/A
Nomad Client logs (if appropriate)
N/A
The text was updated successfully, but these errors were encountered: