Skip to content
oleweidner edited this page Mar 25, 2013 · 28 revisions

.

ATTENTION: bliss is now saga-python. Please check out the new website for the latest releases and documentation!

The plug-ins bind the SAGA Python API to specific middleware backends. The following plug-ins are available in the latest release of SAGA Python:

Local Plug-In

The Local plug-in allows to execute jobs on the local machine via 'fork'. The plug-in supports the job API. The plug-in doesn't support any custom security contexts.

URL schema to trigger the plug-in is: fork://

Example usage:

# a local job service 
js = saga.job.Service("fork://localhost")

PBS (+SSH and +GSISSH) Plug-In

The PBS plug-in interfaces with a PBS, PBS Pro or TORQUE scheduler locally or remotely via SSH and GSISSH. The plug-in supports the job API. The plug-in supports custom security contexts of the type saga.context.SSH.

URL schema to trigger the plug-in is: pbs+ssh://, pbs+gsissh:// (remote) and pbs:// (local)

Example usage:

ctx = saga.Context()
ctx.type = saga.Context.SSH
ctx.userid  = 'username' # like 'ssh username@host ...'
ctx.usercert = '/Users/username/.ssh/id_rsa_special' # like ssh -i ...'

session = saga.Session()
session.contexts.append(ctx)
 
# a pbs+ssh job service
js = saga.job.Service("pbs+ssh://alamo.futuregrid.org", session=session)

SGE (+SSH and +GSISSH) Plug-In

The SGE plug-in interfaces with a Sun Grid Engine (SGE) scheduler locally or remotely via SSH and GSISSH. The plug-in supports the job API. The plug-in supports custom security contexts of the type saga.context.SSH.

URL schema to trigger the plug-in is: sge+ssh://, sge+gsissh:// (remote) and sge:// (local)

Example usage:

# Explicit X509 context. Only necessary for non-default contexts.
ctx = saga.Context()
ctx.type = saga.Context.X509
ctx.userproxy = '/tmp/x509_up501_special'

session = saga.Session()
session.contexts.append(ctx)
 
# an sge+ssh job service
js = saga.job.Service("sge+gsissh://lonestar.tacc.utexas.edu", session=session)

TORQUE/XT5TORQUE (+SSH and +GSISSH) Plug-In

The TORQUE/XT5TORQUE plug-in interfaces with a TORQUE scheduler locally or remotely via SSH and GSISSH. The plug-in supports the job API. The XT5TORQUE version is specifically for TORQUE schedulers running on Cray XT5 machines. The plug-in supports custom security contexts of the type saga.context.SSH and saga.context.X509.

URL schema to trigger the plug-in is: torque+ssh://, torque+gsissh:// (remote) and torque://localhost (local), and for Cray XT5 machines: xt5torque+ssh://, xt5torque+gsissh:// (remote) and xt5torque://localhost (local)

Example usage:

ctx = saga.Context()
ctx.type = saga.Context.SSH
ctx.userid  = 'username' # like 'ssh username@host ...'
ctx.usercert = '/Users/username/.ssh/id_rsa_special' # like ssh -i ...'

session = saga.Session()
session.contexts.append(ctx)
 
# a job service connecting to the torque scheduler on a Cray XT5 machine
js = saga.job.Service("xt5torque+ssh://xray.futuregrid.org", session=session)

SSH Plug-In

The SSH plug-in allows to submit jobs to a remote host via SSH. The plug-in supports the job API. The plug-in supports custom security contexts of the type saga.context.SSH.

URL schema to trigger the plug-in is: ssh://

Example usage:

ctx = saga.Context()
ctx.type = saga.Context.SSH
ctx.userid  = 'username' # like 'ssh username@host ...'
ctx.usercert = '/Users/username/.ssh/id_rsa_special' # like ssh -i ...'

session = saga.Session()
session.contexts.append(ctx)
 
# an ssh job service connecting to an EC2 instance
js = saga.job.Service("ssh://my-ec2-public-ip.amazonaws.com", session=session)

SFTP Plug-In

The SFTP plug-in supports file transfer to and from remote hosts via SSH/SFTP. The plug-in supports the file API. The plug-in supports custom security contexts of the type saga.context.SSH

URL schema to trigger the plug-in is: sftp://.

Example usage:

ctx = saga.Context()
ctx.type = saga.Context.SSH
ctx.userid  = 'username' # like 'ssh username@host ...'
ctx.usercert = '/Users/username/.ssh/id_rsa_special' # like ssh -i ...'

session = saga.Session()
session.contexts.append(ctx)
 
# an sftp remote directory service
dir = saga.file.Directory("sftp://alamo.futuregrid.org/home/username/myapp", session=session)
dir.make_dir("run_01")