Skip to main content

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:

  1. Snakemake version >= (not released yet).
  2. cvmfs installation instructions
  3. sudo 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:

  1. --sdm-snakemake-software-deployment-plugin-cvmfs-repositories specifying CVMFS_REPOSITORIES to mount. Defaults to atlas.cern.ch.
  2. --sdm-snakemake-software-deployment-plugin-cvmfs-client-profile specifying CVMFS_CLIENT_PROFILE Defaults to single.
  3. --sdm-snakemake-software-deployment-plugin-cvmfs-http-proxy specifying CVMFS_HTTP_PROXY Defaults to direct.

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

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page