Add check to log jsonrpc request/response (#54606)

Fixes #54605

Add check in ansible-connection to check if persistent
log message is enabled, if yes log the jsonrpc request
in log file.

With the current approach the _messages queue in `NetworkConnectionBase`
is getting overwritten and response for `pop_message` api inovcation from
ansible-connection is not recevied at the module side.
This commit is contained in:
Ganesh Nalawade 2019-04-03 09:40:31 +05:30 committed by GitHub
parent 3694711a7e
commit d100faedb3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -136,13 +136,18 @@ class ConnectionProcess(object):
data = recv_data(s)
if not data:
break
self.connection._log_messages("jsonrpc request: %s" % data)
log_messages = self.connection.get_option('persistent_log_messages')
if log_messages:
display.display("jsonrpc request: %s" % data, log_only=True)
signal.alarm(self.connection.get_option('persistent_command_timeout'))
resp = self.srv.handle_request(data)
signal.alarm(0)
self.connection._log_messages("jsonrpc response: %s" % resp)
if log_messages:
display.display("jsonrpc response: %s" % resp, log_only=True)
send_data(s, to_bytes(resp))
s.close()