A middleware abstraction library that provides a simple programming interface to various compute and storage resources.

The main entry points are

Adaptor Documentation

This section contains the adaptor documentation which is generated from the information provided by the adaptors themselves.

Schedulers

local

The local jobs adaptor implements all functionality by emulating a local queue.

Supported locations:

Supported locations for Scheduler.create(type, location, credential, properties) method.
  • [/workdir]

Supported properties:

Supported properties for Scheduler.create(type, location, credential, properties) method.
Supported properties
NameDescriptionExpected typeDefault
xenon.adaptors.schedulers.local.queue.pollingDelay
The polling delay for monitoring running jobs (in milliseconds). LONG 1000
xenon.adaptors.schedulers.local.queue.multi.maxConcurrentJobs
The maximum number of concurrent jobs in the multiq. INTEGER 4

Supported features

  • Batch: true
  • Interactive: true
  • Embedded: true
  • Uses a filesystem: true

ssh

The SSH job adaptor implements all functionality to start jobs on ssh servers.

Supported locations:

Supported locations for Scheduler.create(type, location, credential, properties) method.
  • host[:port][/workdir][ via:otherhost[:port]]*

Supported properties:

Supported properties for Scheduler.create(type, location, credential, properties) method.
Supported properties
NameDescriptionExpected typeDefault
xenon.adaptors.schedulers.ssh.strictHostKeyChecking
Enable strict host key checking. BOOLEAN true
xenon.adaptors.schedulers.ssh.loadKnownHosts
Load the standard known_hosts file. BOOLEAN true
xenon.adaptors.schedulers.ssh.loadSshConfig
Load the OpenSSH config file. BOOLEAN true
xenon.adaptors.schedulers.ssh.agent
Use a (local) ssh-agent. BOOLEAN false
xenon.adaptors.schedulers.ssh.agentForwarding
Use ssh-agent forwarding BOOLEAN false
xenon.adaptors.schedulers.ssh.timeout
The timeout for the connection setup and authetication (in milliseconds). LONG 10000
xenon.adaptors.schedulers.ssh.queue.pollingDelay
The polling delay for monitoring running jobs (in milliseconds). LONG 1000
xenon.adaptors.schedulers.ssh.queue.multi.maxConcurrentJobs
The maximum number of concurrent jobs in the multiq.. INTEGER 4

Supported features

  • Batch: true
  • Interactive: true
  • Embedded: true
  • Uses a filesystem: true

at

The At Adaptor submits jobs to an at scheduler. This adaptor uses either the local or the ssh scheduler adaptor to run commands on the machine running at, and the file or the stfp filesystem adaptor to gain access to the filesystem of that machine.

Supported locations:

Supported locations for Scheduler.create(type, location, credential, properties) method.
  • local://[/workdir]
  • ssh://host[:port][/workdir][ via:otherhost[:port]]*

Supported properties:

Supported properties for Scheduler.create(type, location, credential, properties) method.
Supported properties
NameDescriptionExpected typeDefault
xenon.adaptors.schedulers.at.poll.delay
Number of milliseconds between polling the status of a job. LONG 1000
xenon.adaptors.schedulers.ssh.strictHostKeyChecking
Enable strict host key checking. BOOLEAN true
xenon.adaptors.schedulers.ssh.loadKnownHosts
Load the standard known_hosts file. BOOLEAN true
xenon.adaptors.schedulers.ssh.loadSshConfig
Load the OpenSSH config file. BOOLEAN true
xenon.adaptors.schedulers.ssh.agent
Use a (local) ssh-agent. BOOLEAN false
xenon.adaptors.schedulers.ssh.agentForwarding
Use ssh-agent forwarding BOOLEAN false
xenon.adaptors.schedulers.ssh.timeout
The timeout for the connection setup and authetication (in milliseconds). LONG 10000
xenon.adaptors.schedulers.ssh.queue.pollingDelay
The polling delay for monitoring running jobs (in milliseconds). LONG 1000
xenon.adaptors.schedulers.ssh.queue.multi.maxConcurrentJobs
The maximum number of concurrent jobs in the multiq.. INTEGER 4
xenon.adaptors.schedulers.local.queue.pollingDelay
The polling delay for monitoring running jobs (in milliseconds). LONG 1000
xenon.adaptors.schedulers.local.queue.multi.maxConcurrentJobs
The maximum number of concurrent jobs in the multiq. INTEGER 4

Supported features

  • Batch: true
  • Interactive: false
  • Embedded: false
  • Uses a filesystem: true

slurm

The Slurm Adaptor submits jobs to a Slurm scheduler. This adaptor uses either the local or the ssh scheduler adaptor to run commands on the machine running Slurm, and the file or the stfp filesystem adaptor to gain access to the filesystem of that machine.

Supported locations:

Supported locations for Scheduler.create(type, location, credential, properties) method.
  • local://[/workdir]
  • ssh://host[:port][/workdir][ via:otherhost[:port]]*

Supported properties:

Supported properties for Scheduler.create(type, location, credential, properties) method.
Supported properties
NameDescriptionExpected typeDefault
xenon.adaptors.schedulers.slurm.disable.accounting.usage
Do not use accounting info of slurm, even when available. Mostly for testing purposes BOOLEAN false
xenon.adaptors.schedulers.slurm.poll.delay
Number of milliseconds between polling the status of a job. LONG 1000
xenon.adaptors.schedulers.ssh.strictHostKeyChecking
Enable strict host key checking. BOOLEAN true
xenon.adaptors.schedulers.ssh.loadKnownHosts
Load the standard known_hosts file. BOOLEAN true
xenon.adaptors.schedulers.ssh.loadSshConfig
Load the OpenSSH config file. BOOLEAN true
xenon.adaptors.schedulers.ssh.agent
Use a (local) ssh-agent. BOOLEAN false
xenon.adaptors.schedulers.ssh.agentForwarding
Use ssh-agent forwarding BOOLEAN false
xenon.adaptors.schedulers.ssh.timeout
The timeout for the connection setup and authetication (in milliseconds). LONG 10000
xenon.adaptors.schedulers.ssh.queue.pollingDelay
The polling delay for monitoring running jobs (in milliseconds). LONG 1000
xenon.adaptors.schedulers.ssh.queue.multi.maxConcurrentJobs
The maximum number of concurrent jobs in the multiq.. INTEGER 4
xenon.adaptors.schedulers.local.queue.pollingDelay
The polling delay for monitoring running jobs (in milliseconds). LONG 1000
xenon.adaptors.schedulers.local.queue.multi.maxConcurrentJobs
The maximum number of concurrent jobs in the multiq. INTEGER 4

Supported features

  • Batch: true
  • Interactive: true
  • Embedded: false
  • Uses a filesystem: true

gridengine

The SGE Adaptor submits jobs to a (Sun/Oracle/Univa) Grid Engine scheduler. This adaptor uses either the local or the ssh scheduler adaptor to run commands on the machine running Grid Engine, and the file or the stfp filesystem adaptor to gain access to the filesystem of that machine.

Supported locations:

Supported locations for Scheduler.create(type, location, credential, properties) method.
  • local://[/workdir]
  • ssh://host[:port][/workdir][ via:otherhost[:port]]*

Supported properties:

Supported properties for Scheduler.create(type, location, credential, properties) method.
Supported properties
NameDescriptionExpected typeDefault
xenon.adaptors.schedulers.gridengine.ignore.version
Skip version check is skipped when connecting to remote machines. WARNING: it is not recommended to use this setting in production environments! BOOLEAN false
xenon.adaptors.schedulers.gridengine.accounting.grace.time
Number of milliseconds a job is allowed to take going from the queue to the qacct output. LONG 60000
xenon.adaptors.schedulers.gridengine.poll.delay
Number of milliseconds between polling the status of a job. LONG 1000
xenon.adaptors.schedulers.ssh.strictHostKeyChecking
Enable strict host key checking. BOOLEAN true
xenon.adaptors.schedulers.ssh.loadKnownHosts
Load the standard known_hosts file. BOOLEAN true
xenon.adaptors.schedulers.ssh.loadSshConfig
Load the OpenSSH config file. BOOLEAN true
xenon.adaptors.schedulers.ssh.agent
Use a (local) ssh-agent. BOOLEAN false
xenon.adaptors.schedulers.ssh.agentForwarding
Use ssh-agent forwarding BOOLEAN false
xenon.adaptors.schedulers.ssh.timeout
The timeout for the connection setup and authetication (in milliseconds). LONG 10000
xenon.adaptors.schedulers.ssh.queue.pollingDelay
The polling delay for monitoring running jobs (in milliseconds). LONG 1000
xenon.adaptors.schedulers.ssh.queue.multi.maxConcurrentJobs
The maximum number of concurrent jobs in the multiq.. INTEGER 4
xenon.adaptors.schedulers.local.queue.pollingDelay
The polling delay for monitoring running jobs (in milliseconds). LONG 1000
xenon.adaptors.schedulers.local.queue.multi.maxConcurrentJobs
The maximum number of concurrent jobs in the multiq. INTEGER 4

Supported features

  • Batch: true
  • Interactive: false
  • Embedded: false
  • Uses a filesystem: true

torque

The Torque Adaptor submits jobs to a TORQUE batch system. This adaptor uses either the local or the ssh scheduler adaptor to run commands on the machine running TORQUE, and the file or the stfp filesystem adaptor to gain access to the filesystem of that machine.

Supported locations:

Supported locations for Scheduler.create(type, location, credential, properties) method.
  • local://[/workdir]
  • ssh://host[:port][/workdir][ via:otherhost[:port]]*

Supported properties:

Supported properties for Scheduler.create(type, location, credential, properties) method.
Supported properties
NameDescriptionExpected typeDefault
xenon.adaptors.schedulers.torque.ignore.version
Skip version check is skipped when connecting to remote machines. WARNING: it is not recommended to use this setting in production environments! BOOLEAN false
xenon.adaptors.schedulers.torque.accounting.grace.time
Number of milliseconds a job is allowed to take going from the queue to the accinfo output. LONG 60000
xenon.adaptors.schedulers.torque.poll.delay
Number of milliseconds between polling the status of a job. LONG 1000
xenon.adaptors.schedulers.ssh.strictHostKeyChecking
Enable strict host key checking. BOOLEAN true
xenon.adaptors.schedulers.ssh.loadKnownHosts
Load the standard known_hosts file. BOOLEAN true
xenon.adaptors.schedulers.ssh.loadSshConfig
Load the OpenSSH config file. BOOLEAN true
xenon.adaptors.schedulers.ssh.agent
Use a (local) ssh-agent. BOOLEAN false
xenon.adaptors.schedulers.ssh.agentForwarding
Use ssh-agent forwarding BOOLEAN false
xenon.adaptors.schedulers.ssh.timeout
The timeout for the connection setup and authetication (in milliseconds). LONG 10000
xenon.adaptors.schedulers.ssh.queue.pollingDelay
The polling delay for monitoring running jobs (in milliseconds). LONG 1000
xenon.adaptors.schedulers.ssh.queue.multi.maxConcurrentJobs
The maximum number of concurrent jobs in the multiq.. INTEGER 4
xenon.adaptors.schedulers.local.queue.pollingDelay
The polling delay for monitoring running jobs (in milliseconds). LONG 1000
xenon.adaptors.schedulers.local.queue.multi.maxConcurrentJobs
The maximum number of concurrent jobs in the multiq. INTEGER 4

Supported features

  • Batch: true
  • Interactive: false
  • Embedded: false
  • Uses a filesystem: true

File systems

file

This is the local file adaptor that implements file functionality for local access.

Supported locations:

Supported locations for FileSystem.create(type, location, credential, properties) method.
  • (null)
  • (empty string)
  • [/workdir]
  • driveletter:[/workdir]

Supported properties:

Supported properties for FileSystem.create(type, location, credential, properties) method.
Supported properties
NameDescriptionExpected typeDefault
xenon.adaptors.filesystems.file.bufferSize
The buffer size to use when copying files (in bytes). SIZE 64K

Supported features

  • Read symbolic links: true
  • Create symbolic links: true
  • Third party copy: false

sftp

The SFTP adaptor implements all file access functionality to remote SFTP servers

Supported locations:

Supported locations for FileSystem.create(type, location, credential, properties) method.
  • host[:port][/workdir]

Supported properties:

Supported properties for FileSystem.create(type, location, credential, properties) method.
Supported properties
NameDescriptionExpected typeDefault
xenon.adaptors.filesystems.sftp.strictHostKeyChecking
Enable strict host key checking. BOOLEAN true
xenon.adaptors.filesystems.sftp.loadKnownHosts
Load the standard known_hosts file. BOOLEAN true
xenon.adaptors.filesystems.sftp.loadSshConfig
Load the OpenSSH config file. BOOLEAN true
xenon.adaptors.filesystems.sftp.agent
Use a (local) ssh-agent. BOOLEAN false
xenon.adaptors.filesystems.sftp.agentForwarding
Use ssh-agent forwarding when setting up a connection. BOOLEAN false
xenon.adaptors.filesystems.sftp.connection.timeout
The timeout for creating and authenticating connections (in milliseconds). NATURAL 10000
xenon.adaptors.filesystems.sftp.bufferSize
The buffer size to use when copying files (in bytes). SIZE 64K

Supported features

  • Read symbolic links: true
  • Create symbolic links: true
  • Third party copy: false

ftp

The FTP adaptor implements file access on remote ftp servers.

Supported locations:

Supported locations for FileSystem.create(type, location, credential, properties) method.
  • host[:port][/workdir]

Supported properties:

Supported properties for FileSystem.create(type, location, credential, properties) method.
Supported properties
NameDescriptionExpected typeDefault
xenon.adaptors.filesystems.ftp.bufferSize
The buffer size to use when copying files (in bytes). SIZE 64K

Supported features

  • Read symbolic links: true
  • Create symbolic links: false
  • Third party copy: false

webdav

The webdav file adaptor implements file access to remote webdav servers.

Supported locations:

Supported locations for FileSystem.create(type, location, credential, properties) method.
  • http://host[:port][/workdir]
  • https://host[:port][/workdir]

Supported properties:

Supported properties for FileSystem.create(type, location, credential, properties) method.
Supported properties
NameDescriptionExpected typeDefault
xenon.adaptors.filesystems.webdav.bufferSize
The buffer size to use when copying files (in bytes). SIZE 64K

Supported features

  • Read symbolic links: false
  • Create symbolic links: false
  • Third party copy: false
Packages 
Package Description
nl.esciencecenter.xenon
This package is the main entry point into the Xenon API.
nl.esciencecenter.xenon.credentials
This package contains classes and interfaces for managing credentials.
nl.esciencecenter.xenon.filesystems
This package contains classes and interfaces for manipulating files.
nl.esciencecenter.xenon.schedulers
This package contains the classes and interfaces used to run jobs.
nl.esciencecenter.xenon.utils
This package is contains several utility classes.