BLAH Test suite

The blah test suite is made up of two different set of testing scripts, written in python and shell scripting: one is to perform functionality testing and the other one to perform stress testing. Following is a more detailed description of the scripts and the testing workplan.

Developers: Elisabetta Molinari, Francesco Prelz

Functionality testing

A set of functionality testing scripts written in python is described here: https://twiki.cern.ch/twiki/bin/view/LCG/AvailableTests#Batch_Local_Ascii_Helper_BLAH

They perform testing on the basic BLAH functionalities: BLAH_JOB_SUBMIT, BLAH_JOB_CANCEL, BLAH_JOB_HOLD, BLAH_JOB_RESUME, BLAH_JOB_STATUS, BLAH_JOB_REFRESH_PROXY

Stress testing

The scripts can be found at http://jra1mw.cvs.cern.ch:8180/cgi-bin/jra1mw.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

Hints for future work

All the testing scripts described above can be considered as a basis for testers of the BLAH component. They cover basic testing scenarios and can be integrated with further testing scripts covering more use cases. Following some additional use cases and testing scenarios for which blah testing scripts are missing:

  • The current testsuite requires a batch system running, such as lsf, pbs, etc.. where blah can submits jobs to. It could be improved so that a batch system is not a requirement for testing blah. For such purpose some fake scripts that simulate the behaviour of the _submit.sh, _resume.sh, _status.sh, _cancel.sh scripts should be developed, they would be then called by blah but would not actually send any command to the batch system.

  • Create other types of jobs besides the 'DEFAULT' and 'HOLDRELEASE' ones already defined in the testsuite and perform stress testing with them

-- ElisabettaMolinari - 20 Jun 2008

Edit | Attach | PDF | History: r9 < r8 < r7 < r6 < r5 | Backlinks | Raw View | More topic actions
Topic revision: r9 - 2011-02-24 - AlessioGianelle
 
This site is powered by the TWiki collaboration platformCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback