mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
show specific undefined var errors on -v in debug (#32206)
* show specific undefined var errors on -v in debug allows users to get more specific information about undefined errors as they might be looking at a complex data structure and need to find the specific leaf that has the issue * now tests works at all verbosity levels * updated to unicode objects
This commit is contained in:
parent
9d28973b5e
commit
e582a69e9c
2 changed files with 6 additions and 6 deletions
|
@ -43,10 +43,8 @@ class ActionModule(ActionBase):
|
||||||
|
|
||||||
result = super(ActionModule, self).run(tmp, task_vars)
|
result = super(ActionModule, self).run(tmp, task_vars)
|
||||||
|
|
||||||
verbosity = 0
|
|
||||||
# get task verbosity
|
# get task verbosity
|
||||||
if 'verbosity' in self._task.args:
|
verbosity = int(self._task.args.get('verbosity', 0))
|
||||||
verbosity = int(self._task.args['verbosity'])
|
|
||||||
|
|
||||||
if verbosity <= self._display.verbosity:
|
if verbosity <= self._display.verbosity:
|
||||||
if 'msg' in self._task.args:
|
if 'msg' in self._task.args:
|
||||||
|
@ -61,8 +59,10 @@ class ActionModule(ActionBase):
|
||||||
raise AnsibleUndefinedVariable
|
raise AnsibleUndefinedVariable
|
||||||
# If var name is same as result, try to template it
|
# If var name is same as result, try to template it
|
||||||
results = self._templar.template("{{" + results + "}}", convert_bare=True, fail_on_undefined=True)
|
results = self._templar.template("{{" + results + "}}", convert_bare=True, fail_on_undefined=True)
|
||||||
except AnsibleUndefinedVariable:
|
except AnsibleUndefinedVariable as e:
|
||||||
results = "VARIABLE IS NOT DEFINED!"
|
results = u"VARIABLE IS NOT DEFINED!"
|
||||||
|
if self._display.verbosity > 0:
|
||||||
|
results += u": %s" % to_text(e)
|
||||||
|
|
||||||
if isinstance(self._task.args['var'], (list, dict)):
|
if isinstance(self._task.args['var'], (list, dict)):
|
||||||
# If var is a list or dict, use the type as key to display
|
# If var is a list or dict, use the type as key to display
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
|
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- var_undefined.undefined_variable == 'VARIABLE IS NOT DEFINED!'
|
- "'VARIABLE IS NOT DEFINED!' in var_undefined.undefined_variable"
|
||||||
- same_value_as_var_name.same_value_as_var_name_var == 'same_value_as_var_name_var'
|
- same_value_as_var_name.same_value_as_var_name_var == 'same_value_as_var_name_var'
|
||||||
|
|
||||||
- name: cleanup temporary template output
|
- name: cleanup temporary template output
|
||||||
|
|
Loading…
Reference in a new issue