mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-22 12:50:22 -07:00
Fix debug logs failing with persistent connection (#33049)
* Fix debug logs failing with persistent connection Fixes #33047 * As debug logs are written on stdout, it interrupts the communication between ansible-connection(background) process and main process. To avoid this add a string similar to exactly identify the response string. * Remove unwanted code in ansible-connection * Fix review comments * Fix spurious log emitted on ansible-connection stdout issue * ansible-connection which runs as a background process sends a json string (contains response received from remote device) to foreground ansible-playbook process over stdout. * If in case debug flag is enabled the connection_loader api invoked from ansible-connection `ssh = connection_loader.get('ssh', class_only=True)` results in emitting debug logs on stdout. This spurious log interfere with the actual response and results in failure while reading json string in ansible-playbook process * To avoid this save stdout of ansible-connection and redirect it string buffer to accumulate all the logs emitted by core API's * Add these logs in `result['messages']` which is send a json string after reinstating saved stdout * Remove unwanted code in ansible-connection * Fix review comment
This commit is contained in:
parent
bbedb9aac4
commit
90cd87f950
4 changed files with 13 additions and 53 deletions
|
@ -131,6 +131,8 @@ class Display:
|
|||
# characters that are invalid in the user's locale
|
||||
msg2 = to_text(msg2, self._output_encoding(stderr=stderr), errors='replace')
|
||||
|
||||
# Note: After Display() class is refactored need to update the log capture
|
||||
# code in 'bin/ansible-connection' (and other relevant places).
|
||||
if not stderr:
|
||||
fileobj = sys.stdout
|
||||
else:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue