BLAH Test Plan

Service Description

See BLAH guide

Deployment scenarios

Within gLite software, BLAH is deployed within the CREAM CE node

Functionality tests

Features/Scenarios to be tested

The scripts can be found at http://glite.cvs.cern.ch/cgi-bin/glite.cgi/org.glite.testsuites.ctb/BLAH/tests

'BLAH Job Submit' (implemented)
Submits a new job request to the local batch system

Normal workflow - correct input
The job in a classad format is submitted

Pass/Fail Criteria
  • Pass -> the job is submitted and the jobid is returned
  • Fall -> the job can't be submitted to the LRMS and an error message is returned, as for ex. in the following:
blah_job_submit 6 [cmd="/bin/echo";x509userproxy="/home/dteam043/x509up_u500";queue="short";gridtype="condor";args="Hello!"]
6 1 submission\ command\ failed\ (exit\ code\ =\ 1)\ (stdout:Failed\ to\ submit-Error-)\ (stderr:condor_submit:\ unknown\ host\ short-ln:\ `/home/dteam043/.blah_jobproxy_dir/.proxy.norenew':\ File\ exists-) N/A

Error workflow - erroneous input
  • Wrong input could be a missing parameter in the classad submitted to blah, as for ex. in the following:
blah_job_submit 7 [cmd="/bin/echo";x509userproxy="/home/dteam043/x509up_u500";queue="short";args="Hello!"]
S
results
S 1
7 1 Missing\ gridtype\ in\ submission\ classAd N/A
  • It could also be wrong batch system specified, as in the following:
blah_job_submit 3 [cmd="/home/dteam022/test.sh";x509userproxy="/home/dteam022/user.proxy";queue="creamtest1";gridtype="lsf";args="Hello!";Out="/home/dteam022/StdOutput";Err="/home/dteam022/error";]

3 1 submission\ command\ failed\ (exit\ code\ =\ 1)\ (stdout:
)\ (stderr:cat:\ /lsf.conf:\ No\ such\ file\ or\ directory-/opt/glite/bin/lsf_submit.sh:\ line\ 43:\ /lsid:\ No\ such\ file\ or\ directory-/opt/glite/bin/lsf_submit.sh:\ line\ 135:\ /bsub:\ No\ such\ file\ or\ directory-) N/A

blah_job_submit 1 [cmd="/bin/sleep";args="1";gridType="lsf";x509userproxy="/home/dteam002/dede";ClientJobId="cre35_8";CERequirements="foo=bar";queue="creamtest2"]
S
Segmentation fault
    • the correct syntax for the CERequirements attribute should be CERequirements="foo==\"bar\"";

'BLAH Cancel' (implemented)
Cancel a submitted job that is either running or idle
1.Test cancelling a job Running works:
  • Pass -> the job is cancelled and the blah_job_status returns 3 (that is REMOVED)
  • Failed -> the job is not be cancelled and blah returns an error
2. Test cancelling a job Idle works:
  • Pass -> the job is cancelled and the blah_job_status returns 3 (that is REMOVED)
  • Failed -> the job is not cancelled and blah returns an error
3. Test cancelling a job Completed
  • Pass -> the job is not cancelled and the blah returns an error:
blah_job_cancel 8 pbs/20090604/280186.devel05.cnaf.infn.it
S
results
S 1
8 1 Error
  • Failed -> the job is cancelled
4. Test cancelling a job on Hold
  • Pass -> the job is not cancelled and the blah returns an error
  • Failed -> the job is cancelled

'BLAH Hold' (implemented)
Puts a submitted job that is either running or idle on Hold in the LRMS queue.
1. Test putting a job Idle on Hold
  • Pass -> the job is put on hold and the blah_job_status returns 5
  • Failed -> the job is not put on hold and blah returns an error.
As for ex. in pbs where the hold command is not supported, see the following:
2 1 Job\ RUNNING:\ hold\ not\ supported\ by\ pbs\ (stdout:)\ (stderr:)
7 0 No\ Error 2 [\ BatchJobId\ =\ "283632.devel05.cnaf.infn.it";\ LRMSSubmissionTime\ =\ "2009-06-18\ 08:44:22";\ JobStatus\ =\ 2;\ LRMSStartRunningTime\ =\ "2009-06-18\ 08:45:58";\ Workernode\ =\ ""\ ]
blah_job_status 5 pbs/20090618/283626.devel05.cnaf.infn.it

2. Test putting a job Running on Hold
  • Pass -> the job is put on hold and the blah_job_status returns 5
  • Failed -> the job is not put on hold and blah returns an error
3. Test putting a job Completed on Hold
  • Pass -> the job is not put on Hold since the status is Completed
  • Failed -> the job is put on hold

'BLAH Resume' (implemented)
Resume a previously submitted job put on hold
  • Pass -> the job is set back to the status it was before the hold command, that could be 'idle' or 'running'
  • Failed -> the job cannot be resumed since it was not in status 5 (hold)

Features not to be tested

Performance tests

Scalability tests

The scripts can be found at http://glite.cvs.cern.ch/cgi-bin/glite.cgi/org.glite.testsuites.ctb/BLAH/tests/shell/

The main objective of this set of scripts is to perform stress testing of the blah component, by submitting and monitoring jobs via BLAH to the local batch system. They have to be run on the same machine where BLAH and the local batch system are running, under the user dir for which a valid user proxy is owned, say for ex. '/home/dteam001' Following the common files of the testsuite and short descriptions, they all have to be present in the user home dir that is running the testsuite together with a valid user proxy to be copied in the subdir 'test_job'

  • blah_test.conf --> this file contains default values for the mandatory variables needed by the testsuite. Among others the user can select the batch system type (like for ex. lsf, pbs, condor, etc..), the queue and the number of jobs to be submitted.

  • functions.sh --> set of common functions used by the testsuite, like for ex. creating the classad to be submitted to blah

Stress testing using 'blah_exerciser_submit.sh':

  • Perform consecutive submission of simple jobs of type 'DEFAULT', that do a sleep of 10sec on the worker node, monitor them and prints out the submission and completion times

Stress testing using 'blah_exerciser_holdrelease.sh'

This script calls another one, 'blah_exerciser_holdrelease_test.sh' that performs perodic hold release of the submitted jobs

  • Perform consecutive submission of simple jobs of type 'HOLDRELEASE', that print systime sleep for 300 sec and print systime again, issuing hold resume commands periodically

-- GianniPucciani - 17 Dec 2008

Edit | Attach | Watch | Print version | History: r8 < r7 < r6 < r5 < r4 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r8 - 2011-02-03 - MassimoSgaravatto
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    EGEE All webs login

This site is powered by the TWiki collaboration platform Powered by Perl This site is powered by the TWiki collaboration platformCopyright & by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Ask a support question or Send feedback