Fix async logic when parsing fails (#17091)

We want to NOT consider the async task as failed if the result is
not parsed, which was the intent of:

  https://github.com/ansible/ansible/pull/16458

However, the logic doesn't actually do that because we default
the 'parsed' value to True. It should default to False so that
we continue waiting, as intended.
This commit is contained in:
David Shrewsbury 2016-08-15 13:29:06 -04:00 committed by Brian Coca
parent 1f5552f586
commit bf8c871801

View file

@ -594,7 +594,7 @@ class TaskExecutor:
# have issues which result in a half-written/unparseable result
# file on disk, which manifests to the user as a timeout happening
# before it's time to timeout.
if int(async_result.get('finished', 0)) == 1 or ('failed' in async_result and async_result.get('parsed', True)) or 'skipped' in async_result:
if int(async_result.get('finished', 0)) == 1 or ('failed' in async_result and async_result.get('parsed', False)) or 'skipped' in async_result:
break
time_left -= self._task.poll