How can I use CernVM-FS on batch?
Singularity
CernVM-FS can be accessed on head-01.arcc.albany.edu using singularity. Singularity allows users to spawn secure containers, giving them full control over their environment without root privileges. For more information, please see https://www.sylabs.io/.
ITS provides a singularity image that can be run, giving a user access to /cvmfs/ without root. The .def file can be found on github at https://github.com/nschiraldi/singularity/blob/master/singularity.cernvmfs.
How-to: Execute an Interactive Shell in the Image
There are two ways to access the image, from a shared network path, or to pull it down to a directory of your choice.
Executing a shell from the shared network directory:
$ singularity exec --bind /network/ /network/rit/misc/software/singularity/images/singularity_cernvmfs.sif parrot_run bash --noprofile --norc $ cd /cmvfs/
Pulling the image to a directory of your choice
$ cd [path/to/your/directory] $ singularity pull shub://nschiraldi/singularity:cernvmfs $ singularity exec --bind /network/ singularity_cernvmfs.sif parrot_run bash --noprofile --norc $ cd /cvmfs/
How-to: Copy Files to my Lab Share
$ singularity run --bind /network/ singularity_cernvmfs.sif cp -R /cvmfs/[path/to/files] /network/rit/lab/[path/in/lab]
Can I create my own image?
While you cannot build an image on head-01.arcc.albany.edu, they can be built via github + singularity-hub (https://www.singularity-hub.org/) CI/CD integration, or on a local machine and pushed to singularity-hub, then pulled down to head-01.arcc.albany.edu and run, seamlessly. You could also build a docker image on a local machine, upload it to docker-hub, and access it with:
$ singularity run -- bind /network/ docker://path-to-docker-image [cmd] [args]