A quick guide to CVMFS

From GridPP Wiki
Jump to: navigation, search

Deploying software with CVMFS

For more information about CVMFS at RAL, click here.

Overview of the process

  1. Prepare your working area
  2. Prepare your software
  3. Upload your software to the RAL CVMFS repository and deploy it
  4. Wait a bit...
  5. Run your CVMFS-powered jobs

A trivial example

Log in to your machine of choice and create a new working area.

$ ssh -Y whyntie@heppc402
whyntie@heppc402's password: # enter your password here

$ mkdir cvmfstests
$ cd cvmfstests
$ mkdir helloworld
$ cd helloworld
$ pwd
/users/whyntie/cvmfstests/helloworld

Create a new directory that will form the basis of your CVMFS tarball.

$ mkdir hello-world_001-00-00
$ cd hello-world_001-00-00
$ pwd
/users/whyntie/cvmfstests/helloworld/hello-world_001-00-00

Create three files in this directory:

  • hello-world.sh - the "software";
  • run.sh - the script that runs the software;
  • README.md - for your notes, ideally in the MarkDown format.
$ cat hello-world.sh 
#!/bin/bash
#
#=============================================================================
#                     The GridPP CVMFS Hello World! Script
#=============================================================================
#
# Usage: . hello-world.sh [whoever you want to greet]
#
echo 'Hello' $1'!'
$
$
$ cat run.sh 
#!/bin/bash
#
#=============================================================================
#                    The GridPP CVMFS Hello World! run script
#=============================================================================
#
# Usage: . run.sh [full path of the hello-world.sh script]
#
# Note that for grid jobs (or clusters with CVMFS enabled) this will be
# the CVMFS directory.
#
$1/hello-world.sh World
$
$
$ cat README.md
My CVMFS Test Notes
===================
You're keeping detailed notes, right? Good good.

Now compress these files into a tarball.

$ cd ../
$ tar -cvf hello-world_001-00-00.tar hello-world_001-00-00
$ ls
hello-world_001-00-00 hello-world_001-00-00.tar

Now upload the tarball to the RAL CVMFS repository. You will need your grid certificate installed in your browser in order to access (and be identified).

$ firefox https://cvmfs-upload01.gridpp.rl.ac.uk &

After confirming certificate and security settings, you should be presented with a page like this:

(Note: this is from the CERN@school VO, which has already had software uploaded. Your page should be blank...)

Useful links