- make extra-vars override all other vars and facts in playbooks

pull/1945/head
Seth Vidal 12 years ago
parent 0243b7be7c
commit f649777072

@ -315,6 +315,8 @@ class PlayBook(object):
continue
facts = result.get('ansible_facts', {})
self.SETUP_CACHE[host].update(facts)
# extra vars need to always trump - so update again following the facts
self.SETUP_CACHE[host].update(self.extra_vars)
if task.register:
if 'stdout' in result:
result['stdout_lines'] = result['stdout'].splitlines()
@ -390,7 +392,7 @@ class PlayBook(object):
''' run a list of tasks for a given pattern, in order '''
self.callbacks.on_play_start(play.name)
self.SETUP_CACHE.update(play.vars)
# if no hosts matches this play, drop out
if not self.inventory.list_hosts(play.hosts):
self.callbacks.on_no_hosts_matched()

@ -186,6 +186,9 @@ class Play(object):
else:
vars.update(self.vars)
if type(self.playbook.extra_vars) == dict:
vars.update(self.playbook.extra_vars)
if type(self.vars_prompt) == list:
for var in self.vars_prompt:
if not 'name' in var:

Loading…
Cancel
Save