Commit a341a8a0 by James Cammarata

Make sure tasks from a role see their defaults above all others

Fixes #12081
parent c2d5901e
...@@ -183,6 +183,12 @@ class VariableManager: ...@@ -183,6 +183,12 @@ class VariableManager:
for role in play.get_roles(): for role in play.get_roles():
all_vars = self._combine_vars(all_vars, role.get_default_vars()) all_vars = self._combine_vars(all_vars, role.get_default_vars())
# if we have a task in this context, and that task has a role, make
# sure it sees its defaults above any other roles, as we previously
# (v1) made sure each task had a copy of its roles default vars
if task and task._role is not None:
all_vars = self._combine_vars(all_vars, task._role.get_default_vars())
if host: if host:
# next, if a host is specified, we load any vars from group_vars # next, if a host is specified, we load any vars from group_vars
# files and then any vars from host_vars files which may apply to # files and then any vars from host_vars files which may apply to
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment