This wiki is obsolete, see the NorduGrid web pages for up to date information.

Testing/test ngtest EMI1 RC3

From NorduGrid
Jump to navigationJump to search

ngtest

Documentation errors: [#2303]

  • Referenced man entry doesn't exist: "No entry for arc.conf in section 5 of the manual"
  • -O, -resources stands in the place of -O, -configuration
  • "print this help" stay in the man page which is not THAT help that is referenced

Other errors:

  • When option parsing fails "Invalid options given to arctest" will be printed while executing ngtest (not arctest). [#2304]
Binary usage

Using ngtest [options]: Passed

Using arccli test [options]: Failed Output was: "arccli: command not found" [#2303]

certificates

Command: ngtest -E and ngtest -certificate Expected output:

Certificate information:

Certificate: ${absolute path to certificate}
Subject name: ${Full DN of certificate separated by slashes}
Valid until: ${Expired or end of validiry as datetime}Thu Oct 20 15:37:46 2011

Proxy: ${absolute path to proxy}
Proxy-subject: ${Full DN of proxy separated by slashes}
Valid for: ${Expired or length of validity as time}

Certificate issuer: ${DN of my certificate's issuer CA}

CA-certificates installed:
${list of DN of installed CA certificates in multiple lines} 

Experienced output:

Certificate information:

Certificate: /home/martoni/.globus/usercert.pem
Subject name: /C=HU/O=NIIF CA/OU=GRID/OU=NIIF/CN=Ivan Marton
Valid until: Thu Oct 20 15:37:46 2011

Proxy: /tmp/x509up_u500
Proxy-subject: /C=HU/O=NIIF CA/OU=GRID/OU=NIIF/CN=Ivan Marton/CN=1659472956
Valid for: Expired

Certificate issuer: /C=HU/O=NIIF/OU=Certificate Authorities/CN=NIIF Root CA

CA-certificates installed:
/C=HU/O=NIIF/OU=Certificate Authorities/CN=NIIF Root CA
/C=IT/O=INFN/CN=INFN CA
/C=HU/O=NIIF/OU=Certificate Authorities/CN=NIIF Root CA
/C=SK/O=SlovakGrid/CN=SlovakGrid CA
/C=IT/O=INFN/CN=INFN CA
/C=SK/O=SlovakGrid/CN=SlovakGrid CA

Result:

  • when certificate, key and proxy are on default locations: Passed

Cosmetic mistake: The list of CA certificates shouldn't be redundant. Now every lines are duplicated. [#2305]

testjob/specify cluster

Command: ngtest -J jobid -c ce1.grid.upjs.sk and ngtest -job jobid -cluster ce1.grid.upjs.sk Expected output:

Submitting test-job ${Test job id}: 
${Jobdescription belongs to Test job}
Client middleware: ${client specific information}
Job submitted with jobid: ${ID of submitted job}
Cluster: ce1.grid.upjs.sk; middleware: ${server specific information}

Experienced output:

if 1<=jobid<=3

Submitting test-job 2: 
&("executable" = "/bin/echo" )("arguments" = "hello, grid" )("jobname" = "ARC testjob 2" )("stdout" = "stdout" )("cputime" = "5" )
Client middleware: nordugrid-arc-1.0.0b2, globus-unknown
Job submitted with jobid: gsiftp://ce1.grid.upjs.sk:2811/jobs/197481300722006967732817
Cluster: ce1.grid.upjs.sk; middleware: nordugrid-arc-0.8.3.1, globus-unknown

else:

Illegal testjob-id given

Result:

  • when jobid = -1: Passed
  • when jobid = 0: Failed Output was: "Invalid options given to arctest" [#2306]
  • when jobid = 1: Passed
  • when jobid = 2: Passed
  • when jobid = 3: Passed
  • when jobid = 4: Passed
resources/specify GIIS

Command: ngtest -R -g ldap://arc-emi.grid.upjs.sk:2135/mds-vo-name=ARC-EMI,o=grid and ngtest -resources -giisurl ldap://arc-emi.grid.upjs.sk:2135/mds-vo-name=ARC-EMI,o=grid

Expected output:

Resource authorizations:

Certificate-subjectname: 
${Full DN of certificate separated by slashes}

Retrieving information...

You are authorized at the following clusters:
${List of DN of authorized clusters or None}

You are authorized at the following storage-elements:
${List of DN of authorized storage elements or None}

Experienced output:

Resource authorizations:

Certificate-subjectname: 
/C=HU/O=NIIF CA/OU=GRID/OU=NIIF/CN=Ivan Marton

Retrieving information...

You are authorized at the following clusters:
ce1.grid.upjs.sk  pgs03.grid.upjs.sk  rc1.grid.upjs.sk  

You are authorized at the following storage-elements:
None

Result: Passed

configuration

Command: ngtest -O and ngtest -configuration

Expected output:

Configuration:

ARC_LOCATION: ${location of ARC installation}
GLOBUS_LOCATION: ${location of globus installation}

Top-level GIIS's used:
${list of URL of used GIISs in multiple lines} 

User certificate: ${Full DN of certificate separated by slashes}
Valid until: ${Expired or end of validiry as datetime}Thu Oct 20 15:37:46 2011

Proxy: ${Full DN of proxy separated by slashes}
Valid for: ${Expired or length of validity as time}

Experienced output:

Configuration:

ARC_LOCATION: /usr
GLOBUS_LOCATION: /usr

Top-level GIIS's used:
ldap://index1.nordugrid.org:2135/O=Grid/Mds-Vo-Name=NorduGrid
ldap://index2.nordugrid.org:2135/O=Grid/Mds-Vo-Name=NorduGrid
ldap://index3.nordugrid.org:2135/O=Grid/Mds-Vo-Name=NorduGrid
ldap://index4.nordugrid.org:2135/O=Grid/Mds-Vo-Name=NorduGrid

User certificate: /C=HU/O=NIIF CA/OU=GRID/OU=NIIF/CN=Ivan Marton
Valid until: 2011-10-20 15:37:46

Proxy: /C=HU/O=NIIF CA/OU=GRID/OU=NIIF/CN=Ivan Marton/CN=1544706721
Valid for: 10 hours, 51 minutes, 17 seconds

Result: Passed

  • Globus location can be reset by GLOBUS_LOCATION environment variable
  • List of GIISes can be set trough ~/.arc/client.conf with values of giis keys in [client] section
vo-membership information

Command: ngtest -V and ngtest -vo

Expected output:

???

Experienced output:

ngtest: version 1.0.0b2

Result: Failed [#2307]

version information

Command: ngtest -v and ngtest -version

Expected output:

ngtest: version ${client version}

Experienced output:

ngtest: version 1.0.0b2

Result: Passed

help and usage information

Command: ngtest -h and ngtest -help

Expected output:

${help message and usage information}

Experienced output:

The expected, that is too long to be pasted here!

Result: Passed

anonymous and gsi-gssapi bind for MDS queries

Command:

  • ngtest -x and ngtest -anonymous
  • ngtest -X and ngtest -gsi

Result: Problems [#2308]

  • anonymous bind cannot be tested alone since this is the default (meaningless option)
  • if both of these options are present (that are mutually exclusives) there are no error messages but the last one will be effective
debug level

Command: ngtest -J 2 -c ce1.grid.upjs.sk -d debuglevel and ngtest -J 2 -c ce1.grid.upjs.sk -debug debuglevel

Expected output:

${Job submission related messages or error messages on different
verbosity level.}

Experienced output:

The expected, that is too long to be pasted here!

Result: [#2309]

  • when debuglevel = -4: Failed The output is reticent output of the command not an expection "out of range" type error message
  • when debuglevel = -3: Passed
  • when debuglevel = -2: Passed
  • when debuglevel = -1: Passed
  • when debuglevel = 0: Passed
  • when debuglevel = 1: Passed
  • when debuglevel = 2: Passed
  • when debuglevel = 3: Passed
  • when debuglevel = 4: Failed The output is verbose output of the command not an expection "out of range" type error message
  • when debuglevel = f: Failed The output is: "Can not convert string to int: f" should be more helpful
timeout

Command: ngtest -job 2 -c ce1.grid.upjs.sk -t time and ngtest -job 2 -c ce1.grid.upjs.sk -timeout time

Expected output:

${timeout message during the job submission}

Experienced output:

Job submission failed due to: The specified cluster (ce1.grid.upjs.sk) did not return any information.

Result:

  • when 0 < time < necessary for job submission: Passed
  • when time > necessary for job submission: Passed
  • when -t time = -1: Failed it drops a Segmentation fault [#2310]
  • when time = -10, -1.0, f: Passed
dumpxrsl

Command: ngtest -job 2 -c ce1.grid.upjs.sk -dumpxrsl

Expected output:

Submitting test-job ${test job id} 
${test job description}
Client middleware: nordugrid-arc-1.0.0b2, globus-unknown
${modified job description to send to the cluster}

Experienced output:

Submitting test-job 2: 
&("executable" = "/bin/echo" )("arguments" = "hello, grid" )("jobname" = "ARC testjob 2" )("stdout" = "stdout" )("cputime" = "5" )
Client middleware: nordugrid-arc-1.0.0b2, globus-unknown
&("cputime" = "300" )("outputfiles" = ("stdout" "" ) )("clientsoftware" = "nordugrid-arc-1.0.0b2" )("hostname" = "sl5-test1.grid.niif.hu" )("clientxrsl" = "&(""executable"" = ""/bin/echo"" )(""arguments"" = ""hello, grid"" )(""jobname"" = ""ARC testjob 2"" )(""stdout"" = ""stdout"" )(""cputime"" = ""5"" )" )("savestate" = "yes" )("action" = "request" )("queue" = "gridlong" )("stdout" = "stdout" )("jobname" = "ARC testjob 2" )("arguments" = "hello, grid" )("executable" = "/bin/echo" )

Result: Passed

Functional mistake: If cluster is not provided then GIIS will be unnecessarily queried because there won't be any real submission. [#2311]

dryrun

Command: ngtest -job 2 -c ce1.grid.upjs.sk -dumpxrsl -dryrun

Expected output:

Submitting test-job ${test job id} 
${test job description}
Client middleware: nordugrid-arc-1.0.0b2, globus-unknown
${modified job description to send to the cluster containing the formerly missing ("dryrun" = "yes" ) attribute}

Experienced output:

Submitting test-job 2: 
&("executable" = "/bin/echo" )("arguments" = "hello, grid" )("jobname" = "ARC testjob 2" )("stdout" = "stdout" )("cputime" = "5" )
Client middleware: nordugrid-arc-1.0.0b2, globus-unknown
&("cputime" = "300" )("outputfiles" = ("stdout" "" ) )("clientsoftware" = "nordugrid-arc-1.0.0b2" )("hostname" = "sl5-test1.grid.niif.hu" )("clientxrsl" = "&(""executable"" = ""/bin/echo"" )(""arguments"" = ""hello, grid"" )(""jobname"" = ""ARC testjob 2"" )(""stdout"" = ""stdout"" )(""cputime"" = ""5"" )" )("savestate" = "yes" )("action" = "request" )("queue" = "gridlong" )("stdout" = "stdout" )("jobname" = "ARC testjob 2" )("arguments" = "hello, grid" )("executable" = "/bin/echo" )
[martoni@sl5-test1 tmp]$ ngtest -job 2 -c ce1.grid.upjs.sk -dumpxrsl -dryrun
Submitting test-job 2: 
&("executable" = "/bin/echo" )("arguments" = "hello, grid" )("jobname" = "ARC testjob 2" )("stdout" = "stdout" )("cputime" = "5" )
Client middleware: nordugrid-arc-1.0.0b2, globus-unknown
&("cputime" = "300" )("dryrun" = "yes" )("outputfiles" = ("stdout" "" ) )("clientsoftware" = "nordugrid-arc-1.0.0b2" )("hostname" = "sl5-test1.grid.niif.hu" )("clientxrsl" = "&(""executable"" = ""/bin/echo"" )(""arguments"" = ""hello, grid"" )(""jobname"" = ""ARC testjob 2"" )(""stdout"" = ""stdout"" )(""cputime"" = ""5"" )" )("savestate" = "yes" )("action" = "request" )("queue" = "gridlong" )("stdout" = "stdout" )("jobname" = "ARC testjob 2" )("arguments" = "hello, grid" )("executable" = "/bin/echo" )

Result: Passed

GIIS list from file

Command: ngtest -giislist giis.list -J 2 and ngtest -G giis.list -J 2

(Where giis.list contains only one line: ldap://arc-emi.grid.upjs.sk:2135/mds-vo-name=ARC-EMI,o=grid and some empty lines.)

Expected output:

Submitting test-job ${test job id} 
${test job description}
Job submitted with jobid: ${job id}
Cluster: ${cluster from the specified giis}; middleware: ${server side parameters}

Experienced output:

Submitting test-job 2: 
&("executable" = "/bin/echo" )("arguments" = "hello, grid" )("jobname" = "ARC testjob 2" )("stdout" = "stdout" )("cputime" = "5" )
Client middleware: nordugrid-arc-1.0.0b2, globus-unknown
Job submitted with jobid: gsiftp://ce1.grid.upjs.sk:2811/jobs/104041300736694719890936
Cluster: ce1.grid.upjs.sk; middleware: nordugrid-arc-0.8.3.1, globus-unknown

Result: Passed

Functional mistake: It provides wrong information when using with option -configuration together. [#2312]

Cluster list from file

Command: ngtest -G giis.list -clustlist -cluster.list -J 2 and ngtest -G giis.list -clustlist cluster.list -J 2

(Where giis.list contains only one line: ldap://arc-emi.grid.upjs.sk:2135/mds-vo-name=ARC-EMI,o=grid and some empty lines and cluster.list contains only the name of ce1.grid.upjs.sk)

Result:

  • Select (one of) the cluster(s) specified in the file: Passed
  • Exclude (all of) the cluster(s) specified in the file: Passed
Using custom joblist file

Command: ngtest -job 2 -c ce1.grid.upjs.sk -o filename and ngtest -job 2 -c ce1.grid.upjs.sk -joblist filename

Expected output: The expected output is the same as in case of job submission but with creation of a file specified in filename and with the new job id as the only content.

Result: Passed

runtime

Command: ngtest -runtime time -c ce1.grid.upjs.sk -J 1 -dumpxrsl and ngtest -r time -c ce1.grid.upjs.sk -J 1 -dumpxrsl

  • When using other test job than 1 has no influence: Passed
  • Added to the proper attributes when submitting first test job:
(""CPUTime"" = ""13"" ) and ("arguments" = "11" ) when time=10: Passed
  • Rejecting values where time <=0:
(""CPUTime"" = ""4294967289"" ) and (""arguments"" = ""4294967287"" ) when time=-10: Failed [#2313]