Page cover : CERN Virtual Machine Filesystem block diagram http://cernvm.cern.ch/portal/filesystem

Here you can find how to mount the CVMFS repositories which deliver our applications to you. Think of CVMFS as a filesystem that you can mount - except a really fast and efficient one !

Repository information

We currently provide two repositories, which contain all of the applications1 -

Repo NameDescriptionURL
FastRepoContinuously delivered repository which is transacted upon every successful build. This contains the latest applications built by Jenkins. The software has been tested, but the modules may not have been. Use only for development and if you are very bravehttp://apprepo.sagrid.ac.za/cvmfs/fastrepo.sagrid.ac.za
DevRepoTransition repository for applications which have passed continuous integration, but not validation in a production environment. Only available at sites tagged with devrepo. Compile against these products to test your applications.http://apprepo.sagrid.ac.za/cvmfs/devrepo.sagrid.ac.za
AppRepoProduction application repository, available at all sites.http://apprepo.sagrid.ac.za/cvmfs/apprepo.sagrid.ac.za

Quickstart Guide

If you want to skip ahead to the fun bits, start here. This is a quick summary of the information in the CVMFS Technical Report on how to mount repositories.

Prerequisites

  1. We only support Linux - specifically CentOS or Debian.2
  2. You need to have the CERN repos in your configuration : Install the CVMFS Release package for your system.
  3. Install the client :
    1. yum install cvmfs cvmfs-config-default (RedHat derivatives)
    2. dpkg -i cvmfs.deb cvmfs-config-default.deb (Debian and Ubuntu)
  4. Download the repo keys3

Mounting the repo - private mounts

Mounting the repositories can be done either in “local” or “system” mode.

  • System-level : A mountpoint is defined by the system administrator and is managed by autofs, usually /cvmfs/<repo-url>
  • Local mounts : A user can make private mounts of a repository by issueing cvmfs2 -o config=myparams.conf apprepo.sagrid.ac.za <path>
    • In this case, the minimum content of the params.conf file should be something like :
CVMFS_CACHE_BASE=/home/user/mycache
CVMFS_CLAIM_OWNERSHIP=yes
CVMFS_RELOAD_SOCKETS=/home/user/mycache
CVMFS_SERVER_URL=http://apprepo.sagrid.ac.za/cvmfs/apprepo.sagrid.ac.za
CVMFS_HTTP_PROXY=DIRECT

The repository will be intelligently cached locally, by simply attempting to access files in it :

ls /cvmfs/devrepo.sagrid.ac.za/generic/u1404/x86_64/
atlas cmake fftw3 gmp hdf5 mpc numpy python scipy
boost fftw gcc gsl lapack mpfr openmpi quantum-espresso zlib

Using our modules

We will soon provide bash modules in order to set your environment correctly to use the applications in CVMFS4.

Information for site managers

Site managers can apply the CVMFS configuration by executing the cvmfs.yml playbook in the AAROC DevOps Repository

Manual configuration is also possible. See the client configuration section of the CVMFS technical report.

Mounting the repo - HPC clusters

CMVFS is usually controlled by autofs, so if you have autofs on your site, simply add the CVMFS mountpoint to cvmfs.master :

+auto.master
/cvmfs /etc/auto.cvmfs

You can mount the repository on each of the worker nodes indepdendently, or on a local cache, then export it to the worker nodes via NFS.

Feedback and suggestions

If you want to report an error please open an issue
If you have feedback or suggestions, please start a topic on the forum

Footnotes

  1. We can and will happily host community repositories of tested applications later. 

  2. If you really want to Mac, check the full technical report on how to do that. 

  3. The repository keys are necessary to be able to connect to the CVMFS server. We keep ours in github at the moment, in the Ansible role which configures the clients. They are not yet distributed along with cvmf-release package. Someday soon… 

  4. We expect this to be finished in mid-August 2015