avoid x2 setting of set_fact when 'cacheable' (#50564)

* avoid x2 setting of set_fact when 'cacheable'

  fixes #50556

* ammend docs to new behaviour

* added period
This commit is contained in:
Brian Coca 2019-01-08 10:12:49 -05:00 committed by Sandra McCann
commit 207848f354
4 changed files with 7 additions and 6 deletions

View file

@ -570,10 +570,10 @@ class StrategyBase:
else:
cacheable = result_item.pop('_ansible_facts_cacheable', False)
for target_host in host_list:
if not original_task.action == 'set_fact' or cacheable:
self._variable_manager.set_host_facts(target_host, result_item['ansible_facts'].copy())
if original_task.action == 'set_fact':
if original_task.action == 'set_fact' and not cacheable:
self._variable_manager.set_nonpersistent_facts(target_host, result_item['ansible_facts'].copy())
else:
self._variable_manager.set_host_facts(target_host, result_item['ansible_facts'].copy())
if 'ansible_stats' in result_item and 'data' in result_item['ansible_stats'] and result_item['ansible_stats']['data']: