diff options
author | James Cammarata <jimi@sngx.net> | 2016-05-11 13:17:32 -0400 |
---|---|---|
committer | James Cammarata <jimi@sngx.net> | 2016-05-12 17:12:00 -0400 |
commit | 3a052654f31fd15cf583e8188a825dbc55563a3e (patch) | |
tree | f30572b54b2ccd89cb495d24bce1c59001bceed9 | |
parent | 2a512affde12934f5ccb45a9c9db655e6b2c9e13 (diff) | |
download | ansible-3a052654f31fd15cf583e8188a825dbc55563a3e.tar.gz |
Do not include params when getting role vars in certain situations
In VariableManager, we fetch the params specifically in the next step,
so including them in the prior step is unnecessary and could lead to things
being overridden in an improper order.
In Block, we should not be getting the params for the role as they are
included earlier via the VariableManager.
Fixes #14411
-rw-r--r-- | lib/ansible/playbook/block.py | 2 | ||||
-rw-r--r-- | lib/ansible/vars/__init__.py | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/lib/ansible/playbook/block.py b/lib/ansible/playbook/block.py index 1c9569de8d..8b4a6c8a10 100644 --- a/lib/ansible/playbook/block.py +++ b/lib/ansible/playbook/block.py @@ -66,7 +66,7 @@ class Block(Base, Become, Conditional, Taggable): all_vars = self.vars.copy() if self._role: - all_vars.update(self._role.get_vars(self._dep_chain)) + all_vars.update(self._role.get_vars(self._dep_chain, include_params=False)) if self._parent_block: all_vars.update(self._parent_block.get_vars()) if self._task_include: diff --git a/lib/ansible/vars/__init__.py b/lib/ansible/vars/__init__.py index 4496d20ab5..66b816df96 100644 --- a/lib/ansible/vars/__init__.py +++ b/lib/ansible/vars/__init__.py @@ -324,7 +324,7 @@ class VariableManager: if task: if task._role: - all_vars = combine_vars(all_vars, task._role.get_vars()) + all_vars = combine_vars(all_vars, task._role.get_vars(include_params=False)) all_vars = combine_vars(all_vars, task._role.get_role_params(task._block._dep_chain)) all_vars = combine_vars(all_vars, task.get_vars()) |