Getting Started

Table of contents

Introduction

In order to submit a jobs to the SMSCG infrastructure, you need access to a user interface node (UI). Many of the institutions participating in the SMSCG project provide such a UI to their users. Please contact us at https://rt.smscg.ch to gain access to a UI.

 

This page provides information on how to check:

  • if the registration with your chosen VO was successful
  • if the your VO membership information has been propagated
  • which grid sites grant you access 

If you have any questions or suggestions please visit https://rt.smscg.ch and let us know.

 

Test 1 Getting your VO credentials 

1. Obtain a SLCS certificate:

slcs-init -i <IDENTIY_PROVIDER_ID> 

(Note, if you don't know your <IDENTITY_PROVIDER_ID> or are not sure if it is enabled, do a slcs-info. This command will list all available identity providers. For more information about slcs-init and slcs-info use the '-h' flag.)

example: 

[flury@fulla ~]$ slcs-init -i switch.ch 
Shibboleth Password: 
.....

Your slcs certificate is stored in $HOME/.globus/usercert.pem and the key in $HOME/.globus/userkey.pem. If your user name on your machine is not the same as your AAI user name, you have to specify the -u option: 

slcs-init -i <IDENTIY_PROVIDER_ID> -u <USER_NAME> 

example: 

[flury@fulla ~]$ slcs-init -i switch.ch -u Flury
Shibboleth Password: 
..... 

2. Request your VO attributes:

voms-proxy-init -voms <YOUR_VO>

example:

flury@fulla ~]$ voms-proxy-init -voms smscg
Cannot find file or dir: NONE/etc/vomses
Enter GRID pass phrase:
Your identity: /DC=ch/DC=switch/DC=slcs/O=Switch - Teleinformatikdienste fuer Lehre und Forschung/CN=Placi Flury C82EEB1A
Creating temporary proxy ..................................... Done
Contacting  concordia:15025 [/O=GRID-FR/C=CH/O=SWITCH/OU=MIDDLEWARE/CN=concordia.switch.ch] "smscg" Done
Creating proxy ................................................. Done
Your proxy is valid until Thu Feb  5 22:50:16 2009

Notice that you will be requested to enter your private key password: this will either be the same AAI password or the new one you entered when requesting your SLCS certificate

3. Check your VO attributes:

voms-proxy-info -all

example:

[flury@fulla ~]$ voms-proxy-info -all
subject   : /DC=ch/DC=switch/DC=slcs/O=Switch - Teleinformatikdienste fuer Lehre und Forschung/CN=Placi Flury C82EEB1A/CN=proxy
issuer    : /DC=ch/DC=switch/DC=slcs/O=Switch - Teleinformatikdienste fuer Lehre und Forschung/CN=Placi Flury C82EEB1A
identity  : /DC=ch/DC=switch/DC=slcs/O=Switch - Teleinformatikdienste fuer Lehre und Forschung/CN=Placi Flury C82EEB1A
type      : proxy
strength  : 512 bits
path      : /tmp/x509up_u976
timeleft  : 9:58:24
=== VO smscg extension information ===
VO        : smscg
subject   : /DC=ch/DC=switch/DC=slcs/O=Switch - Teleinformatikdienste fuer Lehre und Forschung/CN=Placi Flury C82EEB1A
issuer    : /O=GRID-FR/C=CH/O=SWITCH/OU=MIDDLEWARE/CN=concordia.switch.ch
attribute : /smscg
attribute : urn:mace:dir:attribute-def:sn = Flury (smscg)
attribute : urn:mace:dir:attribute-def:mail = placi.flury@switch.ch (smscg)
attribute : urn:mace:dir:attribute-def:eduPersonAffiliation = staff (smscg)
attribute : urn:mace:dir:attribute-def:givenName = Placi (smscg)
attribute : urn:mace:switch.ch:attribute-def:swissEduPersonHomeOrganization = switch.ch (smscg)
attribute : urn:mace:switch.ch:attribute-def:swissEduPersonUniqueID = 521780@switch.ch (smscg)
timeleft  : 9:58:24

Test 2. Check where you are allowed to submit jobs

Notice, if your VOMS registration took place very recently you might not have access yet. It takes about 2 hours until a freshly registered user is known by all sites.

1. How to query the grid information system to see which resources you have been granted access to:

ngtest -R

example:

[flury@fulla ~]$ ngtest -R
Resource authorizations:

Certificate-subjectname: 
/DC=ch/DC=switch/DC=slcs/O=Switch - Teleinformatikdienste fuer Lehre und Forschung/CN=Placi Flury C82EEB1A

Retrieving information...

You are authorized at the following clusters:
disir.switch.ch  globus.vital-it.ch  nordugrid.unibe.ch  
ocikbpra.unizh.ch  smscg-ce.projects.cscs.ch  

You are authorized at the following storage-elements:
None

Test 3. Submit test jobs

The NorduGrid client comes with some built-in test jobs that can be submitted out of the box. You can find a short description about the test job by typing ngtest -h

1. Submit a 'hello grid' job to a site. Pick up one of the clusters you have seen in test 2 and do:

ngtest -c <cluster> -d <debug_level> -job 2

example:

[flury@fulla ~]$ ngtest -c disir.switch.ch -d 1 -job 2
Submitting test-job 2: 
&("executable" = "/bin/echo" )("arguments" = "hello, grid" )
("jobname" = "ARC testjob 2" )("stdout" = "stdout" )("cputime" = "5" )
Client middleware: nordugrid-arc-0.6.3, globus-4.0.5
Queue selected: short@disir.switch.ch
File uploaded: /tmp/flury/rsl.ocjzud
Job submitted with jobid: 
gsiftp://disir.switch.ch:2811/jobs/2961912338355801908710616
Cluster: disir.switch.ch; middleware: nordugrid-arc-0.6.3, globus-4.0.5-0.8ng

2. You can query the status of the job you just submitted by:

ngstat <jobid>

example:

[flury@]$ ngstat gsiftp://disir.switch.ch:2811/jobs/2961912338355801908710616

Job gsiftp://disir.switch.ch:2811/jobs/2961912338355801908710616
  Job Name: ARC testjob 2
  Status: FINISHED
  Exit Code: 0

3. After the job finished successfully you can retrieve its output with:

ngget <jobid>

example:

[flury@]$ ngget gsiftp://disir.switch.ch:2811/jobs/2961912338355801908710616
Results stored at /home/flury/2961912338355801908710616
Jobs processed: 1, successfuly downloaded: 1

You can get more information about every command and its options by invoking it with the '-h' flag. 

Test 4. Submit your own test 

In order to submit your own tests you need to write a so called job description, written in the NorduGrid ARC's proprietary job description language XRSL.

Here is an example: 

[flury@fulla ~]$ cat hellogrid.xrsl 
& (executable=hellogrid.sh) 
(jobname=hellogrid) 
(stdout=hello.out) 
(stderr=hello.err) 

with 'executable' hellogrid.sh e.g.:

[flury@fulla ~]$ cat hellogrid.sh 
#!/bin/sh
echo "Hello Grid"

You can submit this job via ngsub -c <cluster> hellogrid.xrsl (or ngsub hellogrid.xrsl if you do not want to explicitly specify the cluster):

example:

[flury@fulla ~]$ ngsub -c disir.switch.ch hellogrid.xrsl 
Job submitted with jobid: 
gsiftp://disir.switch.ch:2811/jobs/3184812338362231712389307

To retrieve the result use the ngstat and ngget commands as shown in test 3.