ssh: switch from parallel-ssh to ansible-pylibssh #44
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Unfortunately, parallel-ssh has become a dead project incompatible with
python-3.12+. Some effort was created by its community to make it
compatible, unfortunately the only maintainer with write access is
unresponsive and there is not much hope for a new release.
Therefore we switch to ansible-pylibssh, which provides low level libssh
python bindings. There is significant performance impact in artificial test
case ("running 'exit 0' over and over again is twice as slow) due to
differences in poll implementation, however the impact is neglitable in
real world scenarios (~20 seconds delay on 350 test cases). This small
slowdown also provides a huge benefit in very small CPU usage 0-1% where
parallel-ssh keeps spinning on 10-11%.
Resolves: #26