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 deployment 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

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

(Deprecated. Use services.) 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

maxConnections

Maximum number of concurrent connection to open for a single SSH node

type

integer

default

1

passwordFile

Path to a file containing the password to use for authentication

type

string

retries

Number of consecutive connection errors to consider the connection failed

type

integer

default

3

retryDelay

Time (in seconds) to wait before retrying to connect

type

integer

default

5

services

type

object

patternProperties

^[a-z][a-zA-Z0-9._-]*$

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

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 the 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

64kiB

tunnel

External SSH connection parameters for tunneling

type

SSHConnection

username

Username needed to connect with the SSH environment

type

string

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 the 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