You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are currently encountering a situation with pylibssh, where the execution consistently halts every time a certain % of data has been received.
The following command is sent to a Cisco Nexus switch (using pylibssh transport) to initiate copying a file (~2GB) from a remote server to itself. copy scp://[email protected]/ansible/nxos64.10.1.1.bin bootflash:/nxos64.10.1.1.bin vrf management use-kstack
In every iteration, it suddenly stops receiving the data once the transfer is apparently ~28% complete. This causes Ansible to wait until persistent_command_timeout is reached and then fail the task. By nature of how network_cli connection works, the subsequent tasks also fail (unless the connection is explicitly reset), since it is not able to identify a command prompt from the last received response window, which of course is stuck at the "28%" output. Note that the actual file pull continues to happen on the device and ends successfully when completed.
We have tried bumping command_timeout to a much bigger value than is required for the file pull to complete. The result is still the same.
A small snippet of the output that this command generates and it sent over the wire:
nxos64.10.1.1.bin ... 20% 309MB 1.1MB/s 18:31 ETA '
nxos64.10.1.1.bin ... 22% 340MB 2.7MB/s 07:11 ETA \r'
nxos64.10.1.1.bin ... 25% 379MB 3.8MB/s 04:57 ETA \r'
nxos64.10.1.1.bin ... 28% 438MB 5.2MB/s 03:21 ETA \r'
This does not happen if we switch to paramiko.
ISSUE TYPE
Bug Report
PYLISSH and LIBSSH VERSION
Name: ansible-pylibssh
Version: 1.1.0
Summary: Python bindings for libssh client specific to Ansible use case
Home-page: https://github.com/ansible/pylibssh
Author: Ansible, Inc.
Author-email: info+github/ansible/[email protected]
License: LGPLv2+
Location: /home/nchakrab/.virtualenvs/core/lib/python3.10/site-packages
Requires:
Required-by:
SUMMARY
Related to File copy hangs until timeout is reached regardless of transfer time ansible-collections/cisco.nxos#736
We are currently encountering a situation with pylibssh, where the execution consistently halts every time a certain % of data has been received.
The following command is sent to a Cisco Nexus switch (using pylibssh transport) to initiate copying a file (~2GB) from a remote server to itself.
copy scp://[email protected]/ansible/nxos64.10.1.1.bin bootflash:/nxos64.10.1.1.bin vrf management use-kstack
In every iteration, it suddenly stops receiving the data once the transfer is apparently ~28% complete. This causes Ansible to wait until
persistent_command_timeout
is reached and then fail the task. By nature of hownetwork_cli
connection works, the subsequent tasks also fail (unless the connection is explicitly reset), since it is not able to identify a command prompt from the last received response window, which of course is stuck at the "28%" output. Note that the actual file pull continues to happen on the device and ends successfully when completed.We have tried bumping
command_timeout
to a much bigger value than is required for the file pull to complete. The result is still the same.A small snippet of the output that this command generates and it sent over the wire:
paramiko
.ISSUE TYPE
PYLISSH and LIBSSH VERSION
OS / ENVIRONMENT
STEPS TO REPRODUCE
EXPECTED RESULTS
ACTUAL RESULTS
The text was updated successfully, but these errors were encountered: