Always keep subset data for callbacks (#56881)
results were only being preserved during no_log fixes #56704
This commit is contained in:
parent
3b16036ce2
commit
4adb7cfb5f
2 changed files with 14 additions and 8 deletions
2
changelogs/fragments/always_keep_subset.yml
Normal file
2
changelogs/fragments/always_keep_subset.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
bugfixes:
|
||||||
|
- keep results subset also when not no_log.
|
|
@ -119,6 +119,15 @@ class TaskResult:
|
||||||
else:
|
else:
|
||||||
ignore = _IGNORE
|
ignore = _IGNORE
|
||||||
|
|
||||||
|
subset = {}
|
||||||
|
# preserve subset for later
|
||||||
|
for sub in _SUB_PRESERVE:
|
||||||
|
if sub in self._result:
|
||||||
|
subset[sub] = {}
|
||||||
|
for key in _SUB_PRESERVE[sub]:
|
||||||
|
if key in self._result[sub]:
|
||||||
|
subset[sub][key] = self._result[sub][key]
|
||||||
|
|
||||||
if isinstance(self._task.no_log, bool) and self._task.no_log or self._result.get('_ansible_no_log', False):
|
if isinstance(self._task.no_log, bool) and self._task.no_log or self._result.get('_ansible_no_log', False):
|
||||||
x = {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result"}
|
x = {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result"}
|
||||||
|
|
||||||
|
@ -127,14 +136,6 @@ class TaskResult:
|
||||||
if preserve in self._result:
|
if preserve in self._result:
|
||||||
x[preserve] = self._result[preserve]
|
x[preserve] = self._result[preserve]
|
||||||
|
|
||||||
# preserve subset
|
|
||||||
for sub in _SUB_PRESERVE:
|
|
||||||
if sub in self._result:
|
|
||||||
x[sub] = {}
|
|
||||||
for key in _SUB_PRESERVE[sub]:
|
|
||||||
if key in self._result[sub]:
|
|
||||||
x[sub][key] = self._result[sub][key]
|
|
||||||
|
|
||||||
result._result = x
|
result._result = x
|
||||||
elif self._result:
|
elif self._result:
|
||||||
result._result = module_response_deepcopy(self._result)
|
result._result = module_response_deepcopy(self._result)
|
||||||
|
@ -147,4 +148,7 @@ class TaskResult:
|
||||||
# remove almost ALL internal keys, keep ones relevant to callback
|
# remove almost ALL internal keys, keep ones relevant to callback
|
||||||
strip_internal_keys(result._result, exceptions=CLEAN_EXCEPTIONS)
|
strip_internal_keys(result._result, exceptions=CLEAN_EXCEPTIONS)
|
||||||
|
|
||||||
|
# keep subset
|
||||||
|
result._result.update(subset)
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
Loading…
Reference in a new issue