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.


    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:

    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:


    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:

    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