Commit ed9f5eed by Michael DeHaan

Merge pull request #1338 from alopropoz/extra_vars_override

Vars specified via CLI have the highest priority.
parents 5bdc1633 c5469f63
...@@ -656,17 +656,19 @@ You have already learned about inventory host and group variables, 'vars', and ' ...@@ -656,17 +656,19 @@ You have already learned about inventory host and group variables, 'vars', and '
If a variable name is defined in more than one place with the same name, priority is as follows If a variable name is defined in more than one place with the same name, priority is as follows
to determine which place sets the value of the variable. to determine which place sets the value of the variable.
1. Variables loaded from YAML files mentioned in 'vars_files' in a playbook. 1. Variables specified via command line with --extra-vars.
2. 'vars' as defined in the playbook. 2. Variables loaded from YAML files mentioned in 'vars_files' in a playbook.
3. facts, whether built in or custom, or variables assigned from the 'register' keyword. 3. 'vars' as defined in the playbook.
4. variables passed to parameterized task include statements. 4. facts, whether built in or custom, or variables assigned from the 'register' keyword.
5. Host variables from inventory. 5. variables passed to parameterized task include statements.
6. Group variables from inventory, in order of least specific group to most specific. 6. Host variables from inventory.
7. Group variables from inventory, in order of least specific group to most specific.
Therefore, if you want to set a default value for something you wish to override somewhere else, the best Therefore, if you want to set a default value for something you wish to override somewhere else, the best
place to set such a default is in a group variable. place to set such a default is in a group variable.
......
...@@ -189,9 +189,8 @@ class Play(object): ...@@ -189,9 +189,8 @@ class Play(object):
else: else:
raise errors.AnsibleError("'vars_prompt' section is malformed, see docs") raise errors.AnsibleError("'vars_prompt' section is malformed, see docs")
results = self.playbook.extra_vars.copy() vars.update(self.playbook.extra_vars)
results.update(vars) return vars
return results
# ************************************************* # *************************************************
......
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