mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
document lookup errors optoin (#39645)
* document lookup errors optoin * changed to doc * updated as per feedback
This commit is contained in:
parent
00a6b19e58
commit
32c2aae258
2 changed files with 47 additions and 0 deletions
|
@ -65,6 +65,46 @@ You can combine lookups with :ref:`playbooks_filters`, :ref:`playbooks_tests` an
|
||||||
- "{{lookup('sequence', 'end=42 start=2 step=2')|map('log', 4)|list)}}"
|
- "{{lookup('sequence', 'end=42 start=2 step=2')|map('log', 4)|list)}}"
|
||||||
- ['a', 'c', 'd', 'c']
|
- ['a', 'c', 'd', 'c']
|
||||||
|
|
||||||
|
.. versionadded:: 2.5
|
||||||
|
|
||||||
|
You can now control how errors behave in all lookup plugins by setting ``errors`` to ``ignore``, ``warn``, or ``strict``. The default setting is ``strict``, which causes the task to fail. For example:
|
||||||
|
|
||||||
|
To ignore errors::
|
||||||
|
|
||||||
|
- name: file doesnt exist, but i dont care .. file plugin itself warns anyways ...
|
||||||
|
debug: msg="{{ lookup('file', '/idontexist', errors='ignore') }}"
|
||||||
|
|
||||||
|
[WARNING]: Unable to find '/idontexist' in expected paths (use -vvvvv to see paths)
|
||||||
|
|
||||||
|
ok: [localhost] => {
|
||||||
|
"msg": ""
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
To get a warning instead of a failure::
|
||||||
|
|
||||||
|
- name: file doesnt exist, let me know, but continue
|
||||||
|
debug: msg="{{ lookup('file', '/idontexist', errors='warn') }}"
|
||||||
|
|
||||||
|
[WARNING]: Unable to find '/idontexist' in expected paths (use -vvvvv to see paths)
|
||||||
|
|
||||||
|
[WARNING]: An unhandled exception occurred while running the lookup plugin 'file'. Error was a <class 'ansible.errors.AnsibleError'>, original message: could not locate file in lookup: /idontexist
|
||||||
|
|
||||||
|
ok: [localhost] => {
|
||||||
|
"msg": ""
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Fatal error (the default)::
|
||||||
|
|
||||||
|
- name: file doesnt exist, FAIL (this is the default)
|
||||||
|
debug: msg="{{ lookup('file', '/idontexist', errors='strict') }}"
|
||||||
|
|
||||||
|
[WARNING]: Unable to find '/idontexist' in expected paths (use -vvvvv to see paths)
|
||||||
|
|
||||||
|
fatal: [localhost]: FAILED! => {"msg": "An unhandled exception occurred while running the lookup plugin 'file'. Error was a <class 'ansible.errors.AnsibleError'>, original message: could not locate file in lookup: /idontexist"}
|
||||||
|
|
||||||
|
|
||||||
.. _query:
|
.. _query:
|
||||||
|
|
||||||
query
|
query
|
||||||
|
|
|
@ -75,6 +75,7 @@ Included file:
|
||||||
|
|
||||||
The relevant change in those examples is, that in Ansible 2.5, the included file defines the tag ``distro_include`` again. The tag is not inherited automatically.
|
The relevant change in those examples is, that in Ansible 2.5, the included file defines the tag ``distro_include`` again. The tag is not inherited automatically.
|
||||||
|
|
||||||
|
|
||||||
Deprecated
|
Deprecated
|
||||||
==========
|
==========
|
||||||
|
|
||||||
|
@ -219,6 +220,12 @@ Filter
|
||||||
The lookup plugin API now throws an error if a non-iterable value is returned from a plugin. Previously, numbers or
|
The lookup plugin API now throws an error if a non-iterable value is returned from a plugin. Previously, numbers or
|
||||||
other non-iterable types returned by a plugin were accepted without error or warning. This change was made because plugins should always return a list. Please note that plugins that return strings and other non-list iterable values will not throw an error, but may cause unpredictable behavior. If you have a custom lookup plugin that does not return a list, you should modify it to wrap the return values in a list.
|
other non-iterable types returned by a plugin were accepted without error or warning. This change was made because plugins should always return a list. Please note that plugins that return strings and other non-list iterable values will not throw an error, but may cause unpredictable behavior. If you have a custom lookup plugin that does not return a list, you should modify it to wrap the return values in a list.
|
||||||
|
|
||||||
|
Lookup
|
||||||
|
-------
|
||||||
|
|
||||||
|
A new option was added to lookup plugins globally named ``error`` which allows you to control how errors produced by the lookup are handled, before this option they were always fatal. Valid values for this option are ``warn``, ``ignore`` and ``strict``. See the :doc:`lookup <../plugins/lookup>` page for more details.
|
||||||
|
|
||||||
|
|
||||||
Porting custom scripts
|
Porting custom scripts
|
||||||
======================
|
======================
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue