diff options
Diffstat (limited to 'lib/ansible')
-rw-r--r-- | lib/ansible/plugins/lookup/file.py | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/ansible/plugins/lookup/file.py b/lib/ansible/plugins/lookup/file.py index fa9191ee1b..9657536d73 100644 --- a/lib/ansible/plugins/lookup/file.py +++ b/lib/ansible/plugins/lookup/file.py @@ -50,7 +50,7 @@ RETURN = """ elements: str """ -from ansible.errors import AnsibleError, AnsibleParserError +from ansible.errors import AnsibleError, AnsibleOptionsError from ansible.plugins.lookup import LookupBase from ansible.module_utils._text import to_text from ansible.utils.display import Display @@ -67,11 +67,10 @@ class LookupModule(LookupBase): for term in terms: display.debug("File lookup term: %s" % term) - # Find the file in the expected search path - lookupfile = self.find_file_in_search_path(variables, 'files', term) - display.vvvv(u"File lookup using %s as file" % lookupfile) try: + lookupfile = self.find_file_in_search_path(variables, 'files', term, ignore_missing=True) + display.vvvv(u"File lookup using %s as file" % lookupfile) if lookupfile: b_contents, show_data = self._loader._get_file_contents(lookupfile) contents = to_text(b_contents, errors='surrogate_or_strict') @@ -81,8 +80,9 @@ class LookupModule(LookupBase): contents = contents.rstrip() ret.append(contents) else: - raise AnsibleParserError() - except AnsibleParserError: - raise AnsibleError("could not locate file in lookup: %s" % term) + # TODO: only add search info if abs path? + raise AnsibleError("file not found, use -vvvvv to see paths searched") + except AnsibleError as e: + raise AnsibleOptionsError("The 'file' lookup had an issue accessing the file '%s'" % term, orig_exc=e) return ret |