Package: pssh Version: 2.3.1-4 Severity: normal Dear Maintainer,
Running parallel-ssh with the -o option results in RuntimeWarnings resulting from incorrect use of the buffering option (buffering=1). casey@host:~$ parallel-ssh -o outdir -h hosts date /usr/lib/python3/dist-packages/psshlib/manager.py:304: RuntimeWarning: line buffering (buffering=1) isn't supported in binary mode, the default buffer size will be used self.files[filename] = open(filename, 'wb', buffering=1) /usr/lib/python3/dist-packages/psshlib/manager.py:304: RuntimeWarning: line buffering (buffering=1) isn't supported in binary mode, the default buffer size will be used self.files[filename] = open(filename, 'wb', buffering=1) [1] 08:55:00 [SUCCESS] host1 [2] 08:55:00 [SUCCESS] host1 According to the python documentation for open(): buffering is an optional integer used to set the buffering policy. Pass 0 to switch buffering off (only allowed in binary mode), 1 to select line buffering (only usable in text mode), and an integer > 1 to indicate the size of a fixed-size chunk buffer. When no buffering argument is given, the default buffering policy works as follows: An "upstream" version of has the following fix: https://github.com/lilydjwg/pssh/commit/5e544a7444aa7a337f64c91d34cf669bef46c1d7 which is equivalent to this in the stable debian package of pssh: --- /usr/lib/python3/dist-packages/psshlib/manager.py.old 2021-02-22 16:02:07.000000000 -0700 +++ /usr/lib/python3/dist-packages/psshlib/manager.py.new 2021-08-19 09:17:14.226959140 -0600 @@ -301,7 +301,7 @@ return if data == self.OPEN: - self.files[filename] = open(filename, 'wb', buffering=1) + self.files[filename] = open(filename, 'wb', buffering=0) psshutil.set_cloexec(self.files[filename]) else: dest = self.files[filename] @@ -309,6 +309,7 @@ dest.close() else: dest.write(data) + dest.flush() def open_files(self, host): """Called from another thread to create files for stdout and stderr. That works just fine on my system. -- System Information: Debian Release: 11.0 APT prefers stable-security APT policy: (500, 'stable-security'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 5.10.0-8-amd64 (SMP w/8 CPU threads) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages pssh depends on: ii openssh-client 1:8.4p1-5 ii python3 3.9.2-3 pssh recommends no packages. pssh suggests no packages. -- no debconf information