register: fail when invalid var name is specified (#56456)
This commit is contained in:
parent
11c63d6c1e
commit
c6b40f4d40
4 changed files with 6 additions and 12 deletions
|
@ -30,7 +30,7 @@ from ansible.utils.listify import listify_lookup_plugin_terms
|
|||
from ansible.utils.unsafe_proxy import UnsafeProxy, wrap_var
|
||||
from ansible.vars.clean import namespace_facts, clean_facts
|
||||
from ansible.utils.display import Display
|
||||
from ansible.utils.vars import combine_vars
|
||||
from ansible.utils.vars import combine_vars, isidentifier
|
||||
|
||||
display = Display()
|
||||
|
||||
|
@ -647,6 +647,9 @@ class TaskExecutor:
|
|||
# update the local copy of vars with the registered value, if specified,
|
||||
# or any facts which may have been generated by the module execution
|
||||
if self._task.register:
|
||||
if not isidentifier(self._task.register):
|
||||
raise AnsibleError("Invalid variable name in 'register' specified: '%s'" % self._task.register)
|
||||
|
||||
vars_copy[self._task.register] = wrap_var(result)
|
||||
|
||||
if self._task.async_val > 0:
|
||||
|
|
|
@ -3,5 +3,4 @@
|
|||
set -eux
|
||||
|
||||
ansible-playbook test_templating_settings.yml -i ../../inventory -v "$@"
|
||||
ansible-playbook warn_on_register.yml -i ../../inventory -v "$@" 2>&1| grep 'is not templatable, but we found'
|
||||
[ "$(ansible-playbook dont_warn_register.yml -i ../../inventory -v "$@" 2>&1| grep -c 'is not templatable, but we found')" == "0" ]
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
- hosts: testhost
|
||||
gather_facts: false
|
||||
vars:
|
||||
thisshouldwarn: noreally
|
||||
tasks:
|
||||
- name: template in register warns
|
||||
debug: msg=unimportant
|
||||
register: '{{ thisshouldwarn }}'
|
|
@ -56,7 +56,7 @@
|
|||
|
||||
- name: fetch pass_json
|
||||
uri: return_content=yes url=http://localhost:{{ http_port }}/{{ item }}.json
|
||||
register: pass
|
||||
register: fetch_pass_json
|
||||
with_sequence: start=0 end=4 format=pass%d
|
||||
|
||||
- name: check pass_json
|
||||
|
@ -66,7 +66,7 @@
|
|||
- item.0.stat.checksum == item.1.content | checksum
|
||||
with_together:
|
||||
- "{{pass_checksum.results}}"
|
||||
- "{{pass.results}}"
|
||||
- "{{fetch_pass_json.results}}"
|
||||
|
||||
|
||||
- name: checksum fail_json
|
||||
|
|
Loading…
Reference in a new issue