Launching Mechanism - Globus Toolkit 2.4.3

Architecture

Single machine (B) running the OMII container with the GridSAM Web Service deployed. Jobs are launched through a Globus 2.4.3 gatekeeper (C). The OMII container (B) is available to the Internet. User must submit job with a myproxy:MyProxy extension in the JSDL description. This information is used by GridSAM to load the user's proxy credential from a remote MyProxy server (E). GridSAM uses a service-wide proxy certificate to authenticate with the MyProxy server, therefore user can impose additional authorisation constraint on who can retrieve the proxy. The retrieved user credential is used for all Globus-based file staging (gsiftp://) and Globus 2.4.3 GRAM submission. For file staging, the Globus resource must have a GridFTP server (D) where files can be staged-in for the execution to use and staged-out after the job has finished.

Requirements

  • The Globus resource must be of version 2.4.3. GridSAM has been tested with the setup used by the UK National Grid Service.
  • The GridSAM service must hold a x509 certificate and a local proxy be available for the service to use to authenticate to the MyProxy server. This must be created using the grid-proxy-init command available in the Globus Toolkit before the service is started, and refreshed before the proxy expires.
  • The MyProxy server must be accessible from the GridSAM service host.
  • The GridFTP server must support the FTP file listing mode supported by the Globus Cogkit v.4.

Configuration

    <?xml version="1.0" encoding="UTF-8"?>
    <module id="jobmanager.globus" version="1.0.0">

        <!-- dependent modules -->
        <sub-module descriptor="org/icenigrid/gridsam/resource/config/common.xml"/>
        <sub-module descriptor="org/icenigrid/gridsam/resource/config/embedded.xml"/>
        <sub-module descriptor="org/icenigrid/gridsam/resource/config/globus.xml"/>
        <sub-module descriptor="database.xml"/>
            <sub-module descriptor="authorisation.xml"/>

        <!-- override the factory defaults here -->
        <contribution configuration-id="hivemind.ApplicationDefaults">
            <!--
                The job manager location
            -->
            <default symbol="globus.JobManager" value="grid-compute.leeds.ac.uk"/>
            <!--
                The root file system for staging files
            -->
            <default symbol="globus.RootFileSystemURI" value="gsiftp://grid-compute.leeds.ac.uk"/>
            <!--
                How often the status of the job is polled
            -->
            <default symbol="globus.MonitoringPeriod" value="20000"/>

            <!-- the default location of the classad generation script
                WEB-INF/classes/rsl.groovy
            -->
            <default symbol="globus.ScriptResource" value="rsl.groovy"/>

        </contribution>

    </module>
  • [SYMBOL] globus.JobManager: The host and name of the Globus gatekeeper. (e.g. my.globus.host/jobmanager or my.globus.host/jobmanager-pbs).
  • [SYMBOL] globus.RootFileSystemURI: An URL representing the file systems available to the execution resource. This is generally a GridFTP server (gsiftp://).
  • [SYMBOL] globus.MonitoringPeriod: The period to wait between each monitoring requests made by GridSAM to the globus job. The shorter the period, the more load it put on the GridSAM service.
  • [SYMBOL] globus.ScriptResource: The groovy script for creating the RSL for the GlobusDRMConnector to submit the job to the underlying Globus resource. The groovy script must save the generated RSL in the "urn:globus:rsl" job property. The default script is in webapps/gridsam/WEB-INF/classes/rsl.groovy. Administrator should modify this script to customise any local installation specific settings. Changes to the script is automatically reloaded by the runtime system without restarting the engine.

Multiple GridSAM instances

In order to run multiple GridSAM instances that make use of the Globus DRMConnector, the following additional installation steps must be carried out to workaround a classloader problem presented in the Globus Cog Kit.

  1. Copy the files bcprov-*.jar, cryptix-*.jar, cryptix32-*.jar, cryptix-asn1-*.jar, puretls-*.jar from webapps/$GRIDSAM_INSTANCE/WEB-INF/lib to $TOMCAT_HOME/shared/lib.
  2. For each GridSAM instances in webapps/, remove the above files from the WEB-INF/lib directory.