Feature #18960
openConfig option to make crunch-run use Go FUSE driver when all mounts are read-only
Description
If the new config option (Containers.UseBuiltinMountWhenReadOnly
, default false) is true
and there will be no writes to the fuse mount (e.g., singularity image cache, output or other writable collection mounts specified by the container), crunch-run should start a Go fuse process instead of arv-mount.
The fuse driver should be started in a separate process via "/proc/self/exe mount ..."
or similar, so it works (and uses the same code version as crunch-run itself) without any extra compute worker image preparation. Document any new runtime dependencies (hopefully none -- arv-mount already requires libfuse).
Any missing features, performance regressions, or user-observable differences (e.g., crunchstat) relative to the arv-mount setup should be noted as follow-up issues, but should not be considered blockers. The goal here is to make it possible to enable the Go option, starting with dev clusters, and test/measure for such differences and prioritize them accordingly.
Related issues
Updated by Peter Amstutz over 2 years ago
- Related to Idea #17849: FUSE driver v2 added
Updated by Peter Amstutz over 2 years ago
- Description updated (diff)
- Subject changed from option for crunch-run to start using go FUSE mount for read-only mounts to crunch-run can use Go FUSE driver for read-only mounts
Updated by Peter Amstutz over 2 years ago
- Target version changed from 2022-05-11 sprint to 2022-05-25 sprint
Updated by Peter Amstutz over 2 years ago
- Target version deleted (
2022-05-25 sprint)
Updated by Tom Clegg about 2 years ago
- Description updated (diff)
- Subject changed from crunch-run can use Go FUSE driver for read-only mounts to Config option to make crunch-run use Go FUSE driver when all mounts are read-only