Releases: ParallelSSH/parallel-ssh
Releases · ParallelSSH/parallel-ssh
2.5.3
2.5.2
2.5.1
2.5.0
Changes
- Python 2 no longer supported.
- Updated class arguments, refactor for
pssh.clients.native.tunnel
.
Fixes
- Closed clients with proxy host enabled would not shutdown their proxy servers.
- Clients with proxy host enabled would not disconnect the proxy client on
.disconnect
being called. - Default identity files would not be used when private key was not specified - #222.
ParallelSSHClient(<..>, identity_auth=False)
would not be honoured.
2.4.0
Changes
- Added interactive shell support to single and parallel clients - see documentation.
- Added
pssh.utils.enable_debug_logger
function. ParallelSSHClient
timeout parameter is now also applied to starting remote commands viarun_command
.HostOutput.stdin
now handles EAGAIN automatically when writing - #165.- Assigning to
ParallelSSHClient.hosts
cleans up clients of hosts no longer in host list - #220.
Fixes
2.3.2
2.3.1
Changes
SSHClient.read_output
andread_stderr
now take buffer to read from as argument instead of channel.SSHClient.wait_finished
now takesHostOutput
argument instead of channel.
Fixes
- Output for multiple commands on one host run at the same time would be lost.
2.3.0
Changes
SSHClient
now starts buffering output from remote host, both standard output and standard error, when a command is run.SSHClient.read_output
,SSHClient.read_stderr
and iterating on stdout/stderr fromHostOutput
now read from the internal buffer rather than the SSH channel directly.ParallelSSHClient.join
no longer requiresconsume_output
to be set in order to get exit codes without first reading output.ParallelSSHClient.join
with timeout no longer consumes output by default. It is now possible to usejoin
with a timeout and capture output afterjoin
completes.ParallelSSHClient.reset_output_generators
is now a no-op and no longer required to be called after timeouts.HostOutput.stdout
andstderr
are now dynamic properties.- Added
HostOutput.read_timeout
attribute. Can be used to see what read timeout was whenrun_command
was called and to change timeout when next reading fromHostOutput.stdout
andstderr
. - Added
HostOutput.encoding
attribute for encoding used whenrun_command
was called. Encoding can now be changed for when next reading output. ParallelSSHClient.join
with timeout no longer affectsstdout
orstderr
read timeout set whenrun_command
was called.- LibSSH clients under
pssh.clients.ssh
now allow output to be read as it becomes available without waiting for remote command to finish first. - Reading from output behaviour is now consistent across all client types - parallel and single clients under both
pssh.clients.native
andpssh.clients.ssh
. ParallelSSHClient.join
can now be called without arguments and defaults to last ran commands.ParallelSSHClient.finished
can now be called without arguments and defaults to last ran commands.
This is now possible:
output = client.run_command(<..>) client.join(output) assert output[0].exit_code is not None
As is this:
client.run_command(<..>, timeout=1) client.join(output, timeout=1) for line in output[0].stdout: print(line)
Output can be read after and has separate timeout from join.
2.2.0
Changes
- New single host tunneling, SSH proxy, implementation for increased performance.
- Native
SSHClient
now acceptsproxy_host
,proxy_port
and associated parameters - see API documentation - Proxy configuration can now be provided via
HostConfig
. - Added
ParallelSSHClient.connect_auth
function for connecting and authenticating to hosts in parallel.
2.1.0post1
Updated readme (#237)