diff options
Diffstat (limited to 'lib/ansible/modules/setup.py')
-rw-r--r-- | lib/ansible/modules/setup.py | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/lib/ansible/modules/setup.py b/lib/ansible/modules/setup.py index f2040dfc34..520b947196 100644 --- a/lib/ansible/modules/setup.py +++ b/lib/ansible/modules/setup.py @@ -126,10 +126,10 @@ EXAMPLES = """ # import module snippets from ..module_utils.basic import AnsibleModule +from ansible.module_utils._text import to_text +from ansible.module_utils.facts import ansible_collector, default_collectors +from ansible.module_utils.facts.collector import CollectorNotFoundError, CycleFoundInFactDeps, UnresolvedFactDep from ansible.module_utils.facts.namespace import PrefixFactNamespace -from ansible.module_utils.facts import ansible_collector - -from ansible.module_utils.facts import default_collectors def main(): @@ -162,13 +162,16 @@ def main(): namespace = PrefixFactNamespace(namespace_name='ansible', prefix='ansible_') - fact_collector = \ - ansible_collector.get_ansible_collector(all_collector_classes=all_collector_classes, - namespace=namespace, - filter_spec=filter_spec, - gather_subset=gather_subset, - gather_timeout=gather_timeout, - minimal_gather_subset=minimal_gather_subset) + try: + fact_collector = ansible_collector.get_ansible_collector(all_collector_classes=all_collector_classes, + namespace=namespace, + filter_spec=filter_spec, + gather_subset=gather_subset, + gather_timeout=gather_timeout, + minimal_gather_subset=minimal_gather_subset) + except (TypeError, CollectorNotFoundError, CycleFoundInFactDeps, UnresolvedFactDep) as e: + # bad subset given, collector, idk, deps declared but not found + module.fail_json(msg=to_text(e)) facts_dict = fact_collector.collect(module=module) |