From 5ad13d66aae1b3c2198e9e17dadc25910cbfdee2 Mon Sep 17 00:00:00 2001 From: Brian Coca Date: Thu, 5 Apr 2018 14:09:12 -0400 Subject: [PATCH] documented actual precedence (#38009) fixes #22025 --- docs/docsite/rst/user_guide/playbooks_variables.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docsite/rst/user_guide/playbooks_variables.rst b/docs/docsite/rst/user_guide/playbooks_variables.rst index a6edd6ce22..3c8f3f94b2 100644 --- a/docs/docsite/rst/user_guide/playbooks_variables.rst +++ b/docs/docsite/rst/user_guide/playbooks_variables.rst @@ -862,10 +862,10 @@ Here is the order of precedence from least to greatest (the last listed variable * role vars (defined in role/vars/main.yml) * block vars (only for tasks in block) * task vars (only for the task) - * role (and include_role) params - * include params * include_vars * set_facts / registered vars + * role (and include_role) params + * include params * extra vars (always win precedence) Basically, anything that goes into "role defaults" (the defaults folder inside the role) is the most malleable and easily overridden. Anything in the vars directory of the role overrides previous versions of that variable in namespace. The idea here to follow is that the more explicit you get in scope, the more precedence it takes with command line ``-e`` extra vars always winning. Host and/or inventory variables can win over role defaults, but not explicit includes like the vars directory or an ``include_vars`` task.