Difference between revisions of "VO specific software on the Grid"
| Line 62: | Line 62: | ||
dirac-wms-job-status -f logfile  | dirac-wms-job-status -f logfile  | ||
JobID=5213546 Status=Running; MinorStatus=Job Initialization; Site=VAC.UKI-LT2-RHUL.uk;  | JobID=5213546 Status=Running; MinorStatus=Job Initialization; Site=VAC.UKI-LT2-RHUL.uk;  | ||
| − | <nowiki>  | + | </nowiki>  | 
When job finishes, we can grab the output (<code>dirac-wms-job-get-output -f logfile</code>), which reads:  | When job finishes, we can grab the output (<code>dirac-wms-job-get-output -f logfile</code>), which reads:  | ||
Revision as of 13:13, 19 September 2017
DRAFT
Accessing software distributed via CVMFS
For most VOs the software is now being distributed via CVMFS. The only detail a user (client) has to know is how the repository(-ries) are mapped on Worker Nodes.
In this article we will use the gridpp VO repository, which is mapped to /cvmfs/gridpp.egi.eu/ . A VO software administrator uploaded a following example
python script and saved it as testing/hello.py :
#!/usr/bin/env python import sys print "----------------------" print "Hello, I'm a snake ! /\/\/o" print "----------------------" print " More info:\n" print (sys.version) #
It normally takes a few hours before uploaded software becomes available to clients.
Now we need to create a job wrapper (run_hello_cvmfs.sh) which will be submitted as a Dirac executable:
#!/bin/bash # # Run the Python script. export GRIDPP_VO_CVMFS_ROOT=/cvmfs/gridpp.egi.eu/testing/HelloWorld if [ -d "$GRIDPP_VO_CVMFS_ROOT" ]; then $GRIDPP_VO_CVMFS_ROOT/hello.py else echo "Requester CVMFS directory does not exist $GRIDPP_VO_CVMFS_ROOT " exit 1 fi #
The last step is to created a Dirac jdl file (hello_cvmfs.jdl):
[
JobName = "Snake_Job_CVMFS";
Executable = "run_hello_cvmfs.sh";
Arguments = "";
StdOutput = "StdOut";
StdError = "StdErr";
InputSandbox = {"run_hello_cvmfs.sh"};
OutputSandbox = {"StdOut","StdErr"};
]
In the jdl we define the executable (run_hello_cvmfs.sh) which is shipped with the job in the input sandbox. Now we can submit our first CVMFS job:
dirac-wms-job-submit -f logfile hello_cvmfs.jdl
Check its status, which in our case returned:
dirac-wms-job-status -f logfile JobID=5213546 Status=Running; MinorStatus=Job Initialization; Site=VAC.UKI-LT2-RHUL.uk;
When job finishes, we can grab the output (dirac-wms-job-get-output -f logfile), which reads:
---------------------- Hello, I'm a snake ! /\/\/o ---------------------- More info: 2.7.12 (default, Dec 17 2016, 21:07:48) [GCC 4.4.7 20120313 (Red Hat 4.4.7-17)]