SSHConnector

The Secure SHell (SSH) connector relies on SSH technology to connect with farms of independent, potentially heterogeneous remote nodes. A single SSH deployment can contain multiple nodes identified by their hostnames. Each hostname is supposed to point to a single node, and distinct hostnames must point to different nodes.

A single deployment can contain multiple nodes, which represent the deployment unit. Note that SSH nodes are already active, reducing the “deployment” phase to opening an SSHConnection. Nodes in the same model are not supposed to be directly connected. Consequently, data transfers always involve the StreamFlow management node, adopting a two-step copy strategy. The binding unit and the scheduling unit coincide with the single SSH host.

properties

nodes (required)

List of worker nodes. They can be represented as either single hostnames or connection objects. When a property is missing, it is inherited from the connector context

type

array

items

type

string

SSHConnection

unique

False

username (required)

Username needed to connect with the SSH environment

type

string

checkHostKey

Perform a strict validation of the host SSH keys (and return exception if key is not recognized as valid)

type

boolean

default

True

dataTransferConnection

Sometimes HPC clusters provide dedicated hostnames for large data transfers, which guarantee a higher efficiency for data movements

type

string

SSHConnection

file

Path to a file containing a Jinja2 template, describing how the StreamFlow command should be executed in the remote environment

type

string

maxConcurrentSessions

Maximum number of concurrent session to open for a single SSH client connection

type

integer

default

10

passwordFile

Path to a file containing the password to use for authentication

type

string

sharedPaths

Portions of the file-system shared among all the nodes in the farm

type

string[]

sshKey

Path to the SSH key needed to connect with Slurm environment

type

string

sshKeyPassphraseFile

Path to a file containing the passphrase protecting the SSH key

type

string

transferBufferSize

Buffer size allocated for local and remote data transfers

type

integer

default

16kiB

tunnel

External SSH connection parameters for tunneling

type

SSHConnection

SSHConnection

This complex type represents an SSH connection to a remote node, identified by its hostname.

properties

hostname (required)

The hostname[:port] or address[:port] to connect to.

type

string

checkHostKey

Perform a strict validation of the host SSH keys (and return exception if key is not recognized as valid)

type

boolean

default

True

passwordFile

Path to a file containing the password to use for authentication

type

string

null

sshKey

Path to the SSH key needed to connect with Slurm environment

type

string

null

sshKeyPassphraseFile

Path to a file containing the passphrase protecting the SSH key

type

string

null

tunnel

External SSH connection parameters for tunneling

type

SSHConnection

null

username

Username needed to connect with the SSH environment

type

string

null