Forthcoming edits to Admin/Config/Performance/Cluster:

DRMAA

Dependencies

Galaxy interfaces with DRMAA via drmaa-python. The drmaa-python module is provided with Galaxy, but you must tell it where your DRM's DRMAA library is located, via the $DRMAA_LIBRARY_PATH environment variable, or the drmaa_library_path runner plugin param in job_conf.xml. For example, to set in the environment:

galaxy_server% export DRMAA_LIBRARY_PATH=/galaxy/lsf/7.0/linux2.6-glibc2.3-x86_64/lib/libdrmaa.so
galaxy_server% export DRMAA_LIBRARY_PATH=/galaxy/sge/lib/lx24-amd64/libdrmaa.so

To set in job_conf.xml:

<plugins>
    <plugin id="sge" type="runner" load="galaxy.jobs.runners.drmaa:DRMAAJobRunner">
        <param id="drmaa_library_path">/galaxy/sge/lib/lx24-amd64/libdrmaa.so</param>
    </plugin>
</plugins>

The value in job_conf.xml will override any value set in the $DRMAA_LIBRARY_PATH environment variable.

Parameters and Configuration

following the existing example...

The DRMAA runner takes four optional plugin parameters in addition to drmaa_library_path explained above:

<plugins>
    <plugin id="drmaa" type="runner" load="galaxy.jobs.runners.drmaa:DRMAAJobRunner">
        <param id="invalidjobexception_state">ok</param>
        <param id="invalidjobexception_retries">0</param>
        <param id="internalexception_state">ok</param>
        <param id="internalexception_retries">0</param>
    </plugin>
</plugins>

These parameters control the way in which a job will be considered terminal, since different DRMs behave in different ways. For example, DRMAA specifies a "job finished normally" state, but not all DRMs will report this state, and instead, job completion can only determined by checking job state and encountering a drmaa InvalidJobException exception. These parameters are explained below:

DRMAAJobRunner s
id values details required example default
invalidjobexception_state ok or error Whether Galaxy should treat an InvalidJobException as a job failure optional error ok
invalidjobexception_retries any integer >= 0 The number of times a job should be rechecked before InvalidJobException is considered terminal optional 3 0 do not retry state check)
internalexception_state ok or error Whether Galaxy should treat an InternalException as a job failure optional error ok
internalexception_retries any integer >= 0 The number of times a job should be rechecked before InternalException is considered terminal optional 3 0 do not retry state check)