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 |
|
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 |
||
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
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 |
||
null |
||
username |
Username needed to connect with the SSH environment |
|
type |
string |
|
null |