A snakemake plugin to use CernVM-FS (cvmfs) as software deployment (backend)
Project description
Aim
snakemake-software-deployment-plugin-cvmfs
provides CernVM-FS (cvmfs) support to Snakemake following the software deployment plugin interface.
This plugin is under development and hasn't been fully tested
Installation and configuration
Required steps before using this plugin:
Snakemake version >= (not released yet)
.cvmfs
installation instructionssudo cvmfs_config setup
to setup cvmfs
Usage
To specify the cvmfs repositories to be mounted and other parameters this plugin modifies the Snakemake CLI to incorporate three new parameters:
--sdm-snakemake-software-deployment-plugin-cvmfs-repositories
specifyingCVMFS_REPOSITORIES
to mount. Defaults toatlas.cern.ch
.--sdm-snakemake-software-deployment-plugin-cvmfs-client-profile
specifyingCVMFS_CLIENT_PROFILE
Defaults tosingle
.--sdm-snakemake-software-deployment-plugin-cvmfs-http-proxy
specifyingCVMFS_HTTP_PROXY
Defaults todirect
.
Nomenclature
Here a module means an envmodule as managed by Lmod or other (ahem) module tools. For instance, an easybuilt GCC module named GCC/13.3.0 is:
$ module whatis GCC/13.3.0
GCC/13.3.0 : Description: The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada,
as well as libraries for these languages (libstdc++, libgcj,...).
GCC/13.3.0 : Homepage: https://gcc.gnu.org/
GCC/13.3.0 : URL: https://gcc.gnu.org/
And repositories are cvmfs
repositories, such as grid.cern.ch
providing software installations.
Design
We assume our users have a module
handler, such as Lmod, cvmfs
installed, and run the plugin on a laptop or very few (<5) clients. Main reason is caching/proxies, but cvmfs
behaviour can be tuned as described in their documentation if your set up is larger.
EESSI
To use the EESSI software specify software.eessi.io
as (one of the) cvmfs
repositories; that is, add --sdm-snakemake-software-deployment-plugin-cvmfs-repositories software.eessi.io
to the snakemake call.
We routinely mount EESSI during our software checks.
Contact
Izaskun Mallona izaskun.mallona@gmail.com