Skip to content

Releases: ParallelSSH/parallel-ssh

2.5.3

09 Jan 22:55
6ac89bb
Compare
Choose a tag to compare

Fixes

  • Sending files via scp_send or copy_file with timeout set could timeout unexpectedly on opening remote file - #271.

2.5.2

06 Jan 10:59
59ad4b8
Compare
Choose a tag to compare

Fixes

  • Agent authentication would not work for the libssh clients under pssh.clients.ssh - #267.
  • Password authentication would be attempted if all other methods failed even when no password was provided.
  • Gevent minimum version was too low - #269.

2.5.1

04 Jan 22:04
aab7caf
Compare
Choose a tag to compare

Fixes

  • Successful identity file authentication would raise error - #264.

2.5.0

02 Jan 15:34
0af3d23
Compare
Choose a tag to compare

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

26 Dec 22:25
8f4d7c4
Compare
Choose a tag to compare

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 via run_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

  • SSHClient with proxy enabled could not be used without setting port - #248
  • Encoding would not be applied to command string on run_command and interactive shells, utf-8 used instead - #174.

2.3.2

09 Dec 22:23
7e3ab17
Compare
Choose a tag to compare

Fixes

  • Client output implementation Python 2 support.

2.3.1

06 Dec 14:52
2e9fdb2
Compare
Choose a tag to compare

Changes

  • SSHClient.read_output and read_stderr now take buffer to read from as argument instead of channel.
  • SSHClient.wait_finished now takes HostOutput argument instead of channel.

Fixes

  • Output for multiple commands on one host run at the same time would be lost.

2.3.0

04 Dec 21:57
3b1d052
Compare
Choose a tag to compare

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 from HostOutput now read from the internal buffer rather than the SSH channel directly.
  • ParallelSSHClient.join no longer requires consume_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 use join with a timeout and capture output after join completes.
  • ParallelSSHClient.reset_output_generators is now a no-op and no longer required to be called after timeouts.
  • HostOutput.stdout and stderr are now dynamic properties.
  • Added HostOutput.read_timeout attribute. Can be used to see what read timeout was when run_command was called and to change timeout when next reading from HostOutput.stdout and stderr.
  • Added HostOutput.encoding attribute for encoding used when run_command was called. Encoding can now be changed for when next reading output.
  • ParallelSSHClient.join with timeout no longer affects stdout or stderr read timeout set when run_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 and pssh.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.

See documentation for more examples on use of timeouts.

2.2.0

01 Dec 18:25
084696d
Compare
Choose a tag to compare

Changes

  • New single host tunneling, SSH proxy, implementation for increased performance.
  • Native SSHClient now accepts proxy_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

25 Oct 12:26
3ffb1d0
Compare
Choose a tag to compare
Updated readme (#237)