Generic SSH Executor
Introduction
While Bpipe supports many different resource managers, you may encounter situations where you simply need to execute a command on a fixed remote server. It can also be the case that you wish to use a resource manager that is not directly supported by Bpipe, and in these situations you orchestrate allocation of the resources outside of Bpipe but need Bpipe to simply run a command on the target host.
In these scenarios, the SSH Executor
may be useful. It allows you to simply specify a host name and
SSH credentials, and Bpipe will then use SSH to execute the command in your pipeline on the remote
host. In addition to executing the remote command, the SSH Executor also supports functionality
to transfer files to and from the remote host, if it is not integrated with the source host with
a shared file system.
Configuration
To run an SSH Executor, configure the SSH
type in the executor setting, and then set the hostname
and username in a sub-section called ssh_executor
:
executor="SSH"
ssh_executor {
hostname="my.compute.server"
user="myuser"
}
These settings will cause Bpipe to try to run commands on the remote server using SSH to execute them.
Keys
- can set keypair setting in config
File Transfer
Set transfer=true
at higher level to cause Bpipe to copy files to and from the target host
using SSH. Note that the user provided must have permissions to create the directory path
that the pipeline is running in on the target host, as well as copy files to and from it.