tox_parse_output: add no_log to tox_output

The `tox_parse_output` currently logs the entire output of tox
into the syslog as the natural Ansible behaviour, as part of doing
that, it also encodes it inside utf-8.  This results in errors
in the case that the the data contains surrogates and crashes the
entire job.

Given that this issue really occurs during logging and we don't
have a reason to log all of the tox output to the syslog, this
patch sets the module parameter to `no_log` which should skip the
encoding and logging for that parameter[0].

[0]: https://github.com/ansible/ansible/blob/stable-2.9/lib/ansible/module_utils/basic.py#L1945-L1957

Change-Id: I470cd35111a63662c43f779fc9e119aa8d78c838
This commit is contained in:
Mohammed Naser 2020-04-01 08:52:10 -04:00
parent a3c7c22c06
commit d311a4289a

View File

@ -79,7 +79,7 @@ def extract_file_comments(tox_output):
def main():
module = AnsibleModule(
argument_spec=dict(
tox_output=dict(required=True, type='str'),
tox_output=dict(required=True, type='str', no_log=True),
)
)
tox_output = module.params['tox_output']