diff --git a/lib/ansible/plugins/action/package.py b/lib/ansible/plugins/action/package.py index 87759289cc7..91fefd8ce6c 100644 --- a/lib/ansible/plugins/action/package.py +++ b/lib/ansible/plugins/action/package.py @@ -46,9 +46,9 @@ class ActionModule(ActionBase): pass # could not get it from template! if module == 'auto': - facts = self._execute_module(module_name='setup', module_args=dict(filter='ansible_pkg_mgr'), task_vars=task_vars) + facts = self._execute_module(module_name='setup', module_args=dict(filter='ansible_pkg_mgr', gather_subset='!all'), task_vars=task_vars) display.debug("Facts %s" % facts) - if 'failed' not in facts: + if 'ansible_facts' in facts and 'ansible_pkg_mgr' in facts['ansible_facts']: module = getattr(facts['ansible_facts'], 'ansible_pkg_mgr', 'auto') if module != 'auto':