Grid Status Test: Tests
Prerequisites
You must have a valid proxy credential to run the cluster-status script. Run grid-proxy-init to obtain a proxy credential.
Test Definitions
The script performs the following tests.Gatekeeper Authentication
-
This test verifies that you can successfully authenticate to the gatekeeper on the remote machine. Authenticating to the gatekeeper is a prerequisite to running jobs via the jobmanager(s). If you fail to authenticate to the gatekeeper, there is a good chance you won't be able to authenticate to any Grid services on this machine.
Command: globusrun -a -r <site>
Test dependencies:
- 'globusrun' command exists locally
GRIS
-
This test performs a test query against the remote machine's Grid Resource Information Service, which by default runs on port 2135.
Command: grid-info-search -h <site> -x
Test dependencies:
- 'grid-info-search' command exists locally
GSIFTP Server
-
This test verifies that the GSIFTP service is available on the remote machine.
Commands:
- globus-url-copy file://localfile gsiftp://<site>/remotefile
- globus-url-copy gsiftp://<site>/remotefile file://localfile
Test dependencies:
- 'globus-url-copy' command exists locally
GSISSH Server
-
This test verifies that you can login and runn commands via the GSISSH service on the remote machine.
Command: gsissh -o "BatchMode yes" -o "PreferredAuthentications external-keyx,gssapi" <site> /bin/echo "Grid Status Test"
Test dependencies:
- 'gsissh' command exists locally
Note: The GSISSH homepage can be found here.
MPI Compile
-
This test verifies that you can compile a simple MPI program using mpicc on the remote machine. If successful, the program is used to test running MPI jobs using the GRAM jobmanagers later in the script.
Commands:
- globus-url-copy file://<shellscript> gsiftp://<site>/<shellscript>
- globus-url-copy file://<srcfile> gsiftp://<site>/<srcfile>
- gsissh <site> '/bin/sh --login
<shellscript>
- <shellscript>: a small shell script written by another subroutine in Grid Status Test
- <srcfile>: source file written by another subroutine in Grid Status Test
Test dependencies:
- 'globus-url-copy' command exists locally
- 'gsissh' command exists locally
- Successfully pass GSISSH Test
- Successfully pass GSIFTP Test
Grid Programs in PATH
-
This test verifies that Grid tools are in the default user PATH on the remote machine
Commands:
- grid-proxy-info -subject (run locally)
- gsissh -o "BatchMode yes" <site> /bin/sh --login -c '"grid-proxy-info -issuer"'
- Compare remote output to local output. If remote output contains local output, then success.
Test dependencies:
- 'gsissh' command exists locally
- 'grid-proxy-info' command exists locally
- Successfully pass GSISSH Test
Condor-G
-
This test verifies that Condor-G is installed and working on the remote machine by submitting a test job.
Commands:
- gsissh -o "BatchMode yes" <site> /bin/sh --login -c condor_q
- globus-url-copy file://<site> gsiftp://<site>/<test_script>
- gsissh <site> '/bin/sh --login -c "perl <test_script>'"
Test dependencies:
- 'globus-url-copy' command exists locally
- 'gsissh' command exists locally
- Successfully pass GSISSH Test
- Successfully pass GSIFTP Test
Note: Condor-G is available from NMI.
Simple test of Jobmanager
-
This test verifies that you can run a simple job on the remote machine via thejobmanager being tested.
Command: globusrun -o -r <site>/<jobmanager> '&(executable="/bin/echo")(arguments="Grid Status Test")'
Test dependencies:
- 'globusrun' command exists locally
- Successfully pass Gatekeeper Authentication Test
MPI test of Jobmanager
-
This test verifies that you can run a simple MPI job using 2 CPUs on the remote machine via the jobmanager being tested.
Command: globusrun -o -r <site>/<jobmanager> '&(executable=$(HOME)/mpi-cpi)(jobType=mpi)(count=2)'
Test dependencies:
- 'globusrun' command exists locally
- Successfully pass Simple Jobmanager test
- Successfully pass MPI Compile Test
Note: $HOME/mpi-cpi is compiled in MPI Compile Test
GSIFTP test of Jobmanager
-
This test verifies that a job submitted through whichever jobmanager is being tested can transfer files via GSIFTP. By default, the server used is <site>. Later versions of Grid Status Test will allow for the specification of a remote GSIFTP server.
Commands:
- globus-url-copy file:///tmp/globus-test.<username>.<local_hostname> gsiftp://<site>/tmp/<username>.<local_hostname>.server
- globusrun -o -s -r <site>/<jobmanager> '&(executable=$(GLOBUSRUN_GASS_URL) # "globus-gsiftpjob-test.sh") (environment=(LD_LIBRARY_PATH $(GLOBUS_LOCATION)/lib))'
Test dependencies:
- 'globus-url-copy' command exists locally
- 'globusrun' command exists locally
- Successfully pass Simple Jobmanager Test
Jobmanager tests
Grid Status Test queries the GRIS to see what jobmanagers are installed on <site>. If no jobmanagers are returned, then the default jobmanager, "jobmanager" is attempted.
For each jobmanager reported, the following three tests are attempted: