Launching Mechanism - Brokering to other GridSAM instances

Architecture

Single machine (B) running the OMII container with the GridSAM Web Service deployed. Jobs are launched onto remote GridSAM services. The decision on which GridSAM services is selected is chosen by the configured brokering strategy. All jobs going through the GridSAM broker will be submitted under a single identity.

Requirements

You must have GridSAM services running that can accept jobs from the identity configured for the GridSAM broker.

Configuration

<?xml version="1.0" encoding="UTF-8"?>
<module id="jobmanager.broker" 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/broker.xml"/>
    <sub-module descriptor="database.xml"/>
    <sub-module descriptor="authorisation.xml"/>
    
    <!-- setup the brokering strategy -->
    <contribution configuration-id="hivemind.ApplicationDefaults">
        <!--
            change the following value to use a different brokering strategy.
            The value should be a valid ID of a hivemind service
        -->
        <default symbol="broker.Strategy" value="broker.RoundRobinBrokeringStrategy"/>
        <!-- the period between which the forwarded job status would be queried -->
        <default symbol="broker.MonitoringPeriod" value="10000"/>
    </contribution>

    <!-- list of GridSAM endpoints for the the RoundRobinBrokeringStrategy -->
    <contribution configuration-id="broker.RoundRobinEndpoint">
        <endpoint>http://gridsam.lesc.doc.ic.ac.uk:18080/gridsam1/services/gridsam</endpoint>
    </contribution>
    <contribution configuration-id="broker.RoundRobinEndpoint">
        <endpoint>http://gridsam.lesc.doc.ic.ac.uk:18080/gridsam2/services/gridsam</endpoint>
    </contribution>

</module>
  • SYMBOL: broker.Strategy - The name of an object that implements the BrokeringStrategy interface.
  • CONTRIBUTION: broker.RoundRobinEndpoint - If the RoundRobinBrokeringStrategy is configured (i.e. broker.Strategy = broker.RoundRobinBrokeringStrategy), the contribution contains an <endpoint/> element that represent the GridSAM services endpoint that is eligible to receive job.