Quick Guide to Dirac

From GridPP Wiki
Jump to: navigation, search

Introduction

This document describes how to quickly set up a simple Dirac client, create a job script and then submit it to a Dirac server for execution. You need to have a valid grid certificate, be a member of a supported VO and you need to be registered with the dirac server (please see below on how to check this) before attempting to install the dirac UI. You do not need root access to the machine you are installing the Dirac UI on.

If you are not registered with the dirac server, please contact Janusz, stating your DN and the VO(s) you are a member of.

Getting support

  • Please consider signing up to the gridpp dirac users mailing list: Sign up !
  • For operational issues please consider filing a GGUS ticket. If you set "Notify site" to UKI-LT2-IC-HEP, we'll see it quicker. If you don't know if your issue is operational, just use the mailing list :-)
  • If something isn't working, it may help to include the output from your commands using the debug flag, which can be done with the -dd flag, e.g.
$ dirac-proxy-init -dd -g gridpp_user -M

Server URL

The Dirac server is installed at Imperial College. The Web interface is at:

 https://dirac.grid.hep.ph.ic.ac.uk:8443

You need a certificate installed in your browser.
To check that you are correctly registered with this dirac instance, check the bottom righthand corner. If this shows you as "visitor" and you cannot change this, you are not registered. In this case, please contact Janusz.

Dirac client installation

mkdir dirac
cd dirac
wget -np -O dirac-install http://lhcbproject.web.cern.ch/lhcbproject/dist/Dirac_project/dirac-install
chmod +x dirac-install
./dirac-install -V gridpp -r v6r11p24
source bashrc 

Note 1: The 'gridpp' in the command above does not refer to the gridpp VO - please use the command as is, independently of which VO you will use later on."

Note 2: The version (v6r11p24) should match the version given at the bottom of the GridPP DIRAC portal web pages. CHECK THIS BEFORE CREATING A NEW DIRAC CLIENT.

Configure the client

Create a dumb, groupless proxy (mind -x). This option is to be used only when configuring the client.

You need your keys (userkey.pem and usercert.pem) in $HOME/.globus/. You will also need the CA certs. When you install the dirac UI, the script will automatically download a current copy of these certs for you and store them in dirac/etc/grid-security/certificates. This will be sufficient for a couple of weeks of testing. If you are planning on using your dirac UI for longer, you need to update these certificates regularly. Most grid sites maintain a current copy of these files somewhere on their systems and you should link to those (try /etc/grid-security/certificates or at Imperial /vols/grid/certificates -- if in doubt ask your friendly sys admin :-) instead.

Make a proxy.

$ dirac-proxy-init -x

Generating proxy... 
Enter Certificate password:
Proxy generated: 
subject      : /C=UK/O=eScience/OU=Imperial/L=Physics/CN=janusz martyniak/CN=proxy
issuer       : /C=UK/O=eScience/OU=Imperial/L=Physics/CN=janusz martyniak
identity     : /C=UK/O=eScience/OU=Imperial/L=Physics/CN=janusz martyniak
timeleft     : 23:59:59
path         : /tmp/x509up_u500
username     : unknown
properties   :  


Configure defaults. (Also use this command (-F == force update) when updating the UI).

$ dirac-configure -F defaults-gridpp.cfg

if you see an error like below then you probably are not registered with the dirac instance.

Could not sync dir Cannot get URL for Framework/BundleDelivery in setup MyDIRAC-Production: Option /DIRAC/Setups/MyDIRAC-Production/Framework is not defined

Create a proxy for a community

To be able to submit a job, you need to be a member of a community (VO), here gridpp. If you are, you can create a proxy:

$ dirac-proxy-init -g gridpp_user -M
Generating proxy... 
Enter Certificate password:
Uploading proxy for gridpp_user... 

Proxy generated: 
subject      : /C=UK/O=eScience/OU=Imperial/L=Physics/CN=janusz martyniak/CN=proxy
issuer       : /C=UK/O=eScience/OU=Imperial/L=Physics/CN=janusz martyniak
identity     : /C=UK/O=eScience/OU=Imperial/L=Physics/CN=janusz martyniak
timeleft     : 23:59:58
DIRAC group  : gridpp_user
path         : /tmp/x509up_u500
username     : martynia
properties   : NormalUser 

You can easily verify what VOs you are a member of, by going to the Dirac website and clicking at the drop-down menu at the bottom right, next to your username@ text. If your username shows "Anonymous" it means that you are not registered as a Dirac user. Please contact janusz.martyniak at imperial.ac.uk.
Other VOs: vo.londongrid.ac.uk: use londongrid_user, for t2k.org please use t2k_user, for pheno use pheno_user, for snoplus use snoplus_user, for cernatschool use cernatschool_user, comet: comet_user
Note: We are aware that the VO name and the dirac group should match, but for the time being, please bear with us and use the dirac groups ......

Create a JDL

Now we are ready to create a simple Dirac jdl. Put the lines below into a file Simple.jdl:

[
JobName = "Simple_Job";
Executable = "/bin/ls";
Arguments = "-ltr";
StdOutput = "StdOut";
StdError = "StdErr";
OutputSandbox = {"StdOut","StdErr"};
]

Submit a job

$ dirac-wms-job-submit Simple.jdl 
JobID = 236

Check job status:

$ dirac-wms-job-status 236

JobID=236 Status=Waiting; MinorStatus=Pilot Agent Submission; Site=ANY 

and eventually:

$ dirac-wms-job-status 236
JobID=236 Status=Done; MinorStatus=Execution Complete; Site=LCG.Glasgow.uk;

The jobs can also be monitored using the Web interface. Go to Jobs ->Job monitor You can also submit a job using the Web interface (Tools->Job Launchpad).



Back to GridPP Dirac overview page.