 |
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 $
|