GridLab logo
Public
* About
* News
* Download
* Documents
* Collaborations
Internal
* Meetings
* Links
* Mailing List
* Management
* Yellow Pages
* Our Eyes Only
Information Society Technologies  
 
| Home | Products & Technologies | Support & Downloads | Contact us |  

Testbed Status Monitoring - Tests description

This page describes tests used for testing testbed's status. Results of tests can be accessed from status page.

Machine oriented tests

iStore
Tests whether each machine is registered in iGrid central server called iStore.
The test uses native iGrid client to get search.xml file and then processes it using Java XML tools to search for machines. If a machine is found, hardware info and list of jobmanagers are extracted.
iServe
Tests whether iGrid local part iServe (developed by WP-10) is running on each machine.
The test runs gridlab-search-client against each machine.
The test is implemented using native iGrid client.
iGrid jobmans
Tests whether any jobmanagers are listed in iStore for a given machine.
The test is implemented in Java.
merge jobmans
This test merges together lists of jobmanagers found in GRIS and in iStore. It is used as a prerequisite for other tests like Jobmanagers test.
The test is implemented in Java.
GRIS
Tests whether each machine is running Grid Resource Information Service.
Connects to each machine on port 2135, performs two unauthenticated LDAP queries with branch point Mds-Vo-name=local,o=grid. The first query is with scope ONELEVEL_SCOPE and filter (objectClass=*), getting information about CPU and OS. The second query is with scope SUBTREE_SCOPE and filter (objectClass=MdsServiceGram), searching for available jobmanagers. The test is implemented in Java using standard LDAP provider.
Gatekeeper
Tests whether Globus Gatekeeper is running on each machine.
Tries to authenticate to a gatekeeper by calling Gram.ping() method. The test is implemented in Java using Globus Java CoG Kit 1.1 classes.
mercury2
Test whether monitoring server version 2.X (developed by WP-11) is running on each machine.
Runs command monclient -n host.loadavg -p host=$MACHINE -v monp://$MACHINE for each machine.
The test is implemented using native monitoring client.
mercury2.3.1
Test whether monitoring software installed on each machine is version 2.3.1.
Submits a shellscript which runs $GRIDLAB_MONITORING_LOCATION/bin/monclient --version on the remote machine.
The test is implemented using native monitoring client.
FTP
Tests whether each machine is running Grid File Transfer Protocol server.
Connects to each machine to port 2811, performes GSI authentication to the Grid FTP server and then disconnects. The test is implemented in Java using Globus Java CoG Kit 1.1 classes.
CA
Tests whether each machine has certificates and policy files of all required Certification Authorities.
Extracts all filenames from CA tarball and submits a shell script to each remote machine to test existence of the same files in directory /etc/grid-security/certificates/.
This test is run only if Gatekeeper test was succesful. The test is implemented using shell scripting and native globusrun client.
mapfile
Tests whether each machine has required accounts in grid-mapfile.
Gets all Distinguished Names (DN) from master grid-mapfile, reads grid-mapfile from each machine by submitting /bin/cat /etc/grid-security/grid-mapfile, extracts DNs from it and compares them to DNs from master grid-mapfile.
This test is run only if Gatekeeper test was succesful. The test is implemented using shell scripting and native globusrun client.
GSISSH
Tests whether each machine is running Secure Shell (SSH) daemon with Grid Security Infrastructure (GSI) extensions.
Runs command gsissh -p 2222 $MACHINE echo "TESTSTRING" and searches for "TESTSTRING" in the output. The test is implemented by calling native gsissh client.
gridlab.conf
Tests whether all required variables are defined in /etc/gridlab.conf
This test submits a remote shell script using native globusrun client.
software
Tests whether required software is installed.
Submits a complex shell script to each remote machine, which first sources /etc/gridlab.conf file to set environment variables and then tries to find required software packages.
This test is run only if Gatekeeper test was succesful. The test is implemented using shell scripting and native globusrun client.
java
Tests whether java implementation on the remote machine is at least version 1.3.
This test submits a remote shell script using native globusrun client.
Delphoi
Test whether adaptive software is running on each machine.
Runs command control-pythia check -host $MACHINE for each machine.
The test is implemented using native adaptive client.
Jobmanagers
Tests jobmanagers as advertised by GRIS or iGrid on each machine.
Gets all jobmanagers found by the "merge jobmans" test and submits job /bin/echo "XXX TEST XXX" to each one. Searches for XXX TEST XXX in the job outbut. So the number of tested jobmanagers depends on result of GRIS and iStore test. This is a "composite" test which produces variable number of results.
This test is run only if Gatekeeper test was succesful and at least one jobmanager is available. The test is implemented in Java using Globus Java CoG Kit 1.1 classes.
GRMS
Test whether GridLab Resource Management Service developed by WP-9 can submit a job to each jobmanager.
Calls operation submitJob(String xml,StringHolder jobId) on the GRMS service to submit /bin/date as a simple job to each jobmanager. Then it polls the GRMS for the job status until it finishes.
The test is implemented in Java using Apache Axis and Globus 3 classes.
Problems should be consulted with WP-9 (Resource Management).
mpicc
Tests whether it is possible to compile C programs using Message Passing Interface libraries.
Submits a complex shell script, which downloads source of a simple MPI C program (cpi.c) using globus-url-copy from GASS server, then compiles the source. Tries to cope with many different operating systems, but may fail for unknown OSes.
This test is run only if Gatekeeper test was succesful. The test is implemented using shell scripting and native globusrun client.
mpif77
Tests whether it is possible to compile FORTRAN77 programs using Message Passing Interface libraries.
Submits a complex shell script, which downloads source of a simple MPI F77 program (mpi_prog.f) using globus-url-copy from GASS server, then compiles the source. Tries to cope with many different operating systems, but may fail for unknown OSes.
This test is run only if Gatekeeper test was succesful. The test is implemented using shell scripting and native globusrun client.
MPI-C
Tests whether MPI C program can be run on all jobmanagers advertised by GRIS on each machine.
Gets all jobmanagers found by the GRIS test and submits an MPI job which runs the MPI C program previously compiled by the mpicc test. The RSL for the job includes (jobType=mpi)(count=2) to run the job on two CPUs. Currently ignores Condor jobmanagers, as they don't support MPI jobs. This is a "composite" test which produces variable number of results.
This test is run only if Gatekeeper test was succesful, GRIS reported at least one jobmanager and mpicc test was succesful. The test is implemented in Java using Globus Java CoG Kit 1.1 classes.
MPI-f77
Tests whether MPI FORTRAN77 program can be run on all jobmanagers advertised by GRIS on each machine.
Gets all jobmanagers found by the GRIS test and submits an MPI job which runs the MPI F77 program previously compiled by the mpif77 test. The RSL for the job has (jobType=mpi)(count=2) to run the job on two CPUs. Currently ignores Condor jobmanagers, as they don't support MPI jobs. This is a "composite" test which produces variable number of results.
This test is run only if Gatekeeper test was succesful, GRIS reported at least one jobmanager and mpif77 test was succesful. The test is implemented in Java using Globus Java CoG Kit 1.1 classes.
GRMS MPI
Test whether GridLab Resource Management Service developed by WP-9 can submit an MPI job to each jobmanager.
Calls operation submitJob(String xml,StringHolder jobId) on the GRMS service to submit cpi executable compiled during "mpicc" test as an MPI job for two CPUs to each jobmanager found in GRIS test. Then it polls the GRMS for the job status until it finishes. Some jobamangers are disabled because they are known not to handle MPI jobs.
The test is implemented in Java using Apache Axis and Globus 3 classes.
Problems should be consulted with WP-9 (Resource Management).
GAT
Gets the sources of GAT engine, compiles them on each machine and runs their tests by running command make -C engine tests. The test depends heavily on correct settings in /etc/gridlab.conf.
Problems should be consulted with WP-1 (GAT).
adaptors
Gets the sources of GAT adaptors and compiles them on each machine. The test depends heavily on correct settings in /etc/gridlab.conf.
Problems should be consulted with WP-1 (GAT).
Mercury compile
Gets the latest source of Mercury monitoring tool and tries to compile it on each machine. The test depends heavily on correct settings in /etc/gridlab.conf.
Problems should be consulted with WP-11 (Monitoring).
Triana
Gets Triana from CVS and tries to run it on remote machines. Problems should be consulted with WP-3 (Work-Flow Application Toolkit).
Cactus
Gets Cactus with C-GAT thorns sources from CVS and tries to compile them against GAT and adaptors on the remote machine. Problems should be consulted with WP-2 (Cactus GAT).

WebServices status

All webservices in GridLab must have an operation (term from WSDL language, synonymous to method or function) called getServiceDescription() without parameters, returning a string of characters, describing the service in human language. The operation performs no real processing, just returns a static text.

The tests calls this operation on each tested webservice, performing a GSI authentication.

Matrix tests

DATA movement service test
This test tries to copy a file from every machine to every machine, producing a full matrix as the result. The test calls the "DATA movement" GridLab webservice to do the file copy, calling its operation DATACopyFileDefaults(String srcURL,String dstURL) providing URLs for GSI-FTP transfer of file /tmp/test.copy

Please send any coments to the testbed@gridlab.org mailing list. Alternatively, you may contact directly Martin Kuba (makub@ics.muni.cz)

Last updated: $Date: 2005/03/30 16:10:58 $


GridLab: Grid Application Toolkit and Testbed is co-funded by the European Commission under the Fifth Framework Programme (IST-2001-32133).
Web admin: Petr Holub, web design: Radoslaw Strugalski

Last update on Wednesday, 30-Mar-2005 18:11:04 CEST.