CERN@school and CVMFS

From GridPP Wiki
Jump to: navigation, search

Uploading software via the CVMFS web interface

  • Create a tarball containing the executables, libraries and scripts needed for the software;
  • Go to: https://cvmfs-upload01.gridpp.rl.ac.uk;
  • Upload the tarball (it's pretty self-explanatory);
  • Deploy the package by clicking on the 'project content' panel's 'deploy' button and selecting the uploaded tarball from the drop-down menu.

Note that the synchronization between the web interface backend and CVMFS stratum-0 happens every hour, the synchronization between stratum-1 and stratum-0 is again every hour, and the CVMFS client at WN level checks for a new revision every hour or so, so it can take up to three hours for worker nodes to see new software. So watch out for typos!

Running jobs using CVMFS software

Job submission

mkdir $WORKINGDIR
cd $WORKINGDIR
git clone git@github.com:twhyntie/gridtester01.git
cd gridtester01
voms-proxy-init --voms cernatschool.org
myproxy-init -d -n                      # Uploads a longer proxy to a secure machine
. submit.sh rl qmul runsimpleplot.sh    # submits via the RAL wms to the QMUL CEs

Checking job status

The gridtester01 contains a script for quickly checking the status of jobs once the output has been retrieved.

glite-wms-job-status -i jobIDfile_rl_qmul > output_rl_qmul.txt 2>&1
# Press "Enter" to retrieve the status of all jobs.
python process-status.py output_rl_qmul.txt

Retrieving job output

Job output is retrieved in the usual way:

glite-wms-job-output -i jobIDfile_rl_qmul --dir output_rl_qmul

The output will be found in the directory output_r1_qmul.


A ROOT executable: simpleplot

This executable is built against the SLC64 ROOT binaries downloaded from here.

Current version: 'simpleplot-001-01-01'.

Tarball contents

  • ./bin/ (copied from here)
  • ./etc/ (copied from here)
  • ./include/ (copied from here)
  • Main.cpp C++ code for the executable consisting of a single function that creates a TF1 and uses to randomly fill a histogram (TH1D). The histogram is then written to a ROOT file called output.root;
  • Makefile: builds Main.cpp, linked against the local libraries in the tarball;
  • simpleplot: the executable;
  • run.sh: script that sets the LD_LIBRARY_PATH and PATH variables and runs the simpleplot executable.

run.sh

This is the script that is executed by the grid job. The environment variables LD_LIBRARY_PATH and PATH need to be set so that the required libraries and executables can be found on the CVMFS repository. The executable itself is run by invoking the whole CVMFS path in the final line.

# Setup script for simpleplot
export LD_LIBRARY_PATH=/cvmfs/cernatschool.gridpp.ac.uk/simpleplot-001-01-01/lib:$LD_LIBRARY_PATH
export PATH=/cvmfs/cernatschool.gridpp.ac.uk/simpleplot-001-01-01:$PATH
export PATH=/cvmfs/cernatschool.gridpp.ac.uk/simpleplot-001-01-01/bin:$PATH
#
/cvmfs/cernatschool.gridpp.ac.uk/simpleplot-001-01-01/simpleplot

Versions:

The simpleplot tarball(s) can be downloaded from the Langton Star Server.

Useful links