Single machine (B) running the OMII container with the GridSAM Web Service deployed. Jobs are launched onto a PBS Pool (C). The OMII container (B) is available to the Internet. User holding a certificate trusted by the OMII container (B) can submit jobs over the internet to the GridSAM instance running on the OMII container (B).
If Host (B) is a PBS submission host, the GridSAM service can submit the job locally to the pool (although the jobs can be executed remotely depending on the pool setup).
If Host (B) is not a PBS submission host, the SSH variation allows a host (C) that is a PBS submission host to be used by (B) to submit jobs. (B) can submit jobs under an alternative user similar to the SSH Forking scenario.
You must have the PBS system installed on the submission host. The user running the OMII container (or the user used in the SSH variant) must be able to launch jobs onto the PBS pool.
<?xml version="1.0" encoding="UTF-8"?> <module id="jobmanager.ssh" version="1.0.0"> <!-- dependent modules --> <sub-module descriptor="org/icenigrid/gridsam/resource/config/common.xml"/> <sub-module descriptor="org/icenigrid/gridsam/resource/config/shell.xml"/> <sub-module descriptor="org/icenigrid/gridsam/resource/config/pbs.xml"/> <sub-module descriptor="org/icenigrid/gridsam/resource/config/embedded.xml"/> <sub-module descriptor="database.xml"/> <sub-module descriptor="authorisation.xml"/> <!-- override the factory defaults here --> <contribution configuration-id="hivemind.ApplicationDefaults"> <!-- PBS command location --> <default symbol="spool.directory" value="/tmp/pbs"/> <!-- <default symbol="pbs.PBSSubmitCommand" value="/local/torque/bin/qsub"/> --> <default symbol="pbs.PBSSubmitCommand" value="/usr/bin/qsub"/> <!-- <default symbol="pbs.PBSRmCommand" value="/local/torque/bin/qdel"/> --> <default symbol="pbs.PBSRmCommand" value="/usr/bin/qdel"/> <!-- <default symbol="pbs.PBSJobStatusCommand" value="/local/torque/bin/qstat"/> --> <default symbol="pbs.PBSJobStatusCommand" value="/usr/bin/qstat -f "/> <!-- the location of the tail command --> <default symbol="pbs.PBSTailCommand" value="tail"/> <!-- PBS named queue for submissions --> <default symbol="pbs.PBSNamedQueue" value="test"/> <!-- uncomment the following to use your own script for translating JSDL into classad, otherwise the default will be used. Place your script in WEB-INF/classes, and reference it like a classpath resource --> <!-- <default symbol="pbs.ScriptResource" value="pbsscript.groovy"/>--> </contribution> <!-- uncomment the following to use ssh-based shell --> <!-- <sub-module descriptor="org/icenigrid/gridsam/resource/config/ssh.xml"/> <contribution configuration-id="ssh.ShellConfig"> <Server host="localhost" user="${user.name}"> <PublicKeyAuthentication keyfile="${user.home}/.ssh/id_rsa" passphrase=""/> </Server> </contribution> --> </module>