Merge branch 'feature/gh-3789-inventory-file' of https://github.com/resmo/ansible into devel

pull/3809/merge
Michael DeHaan 11 years ago
commit 66b29b6813

@ -397,6 +397,12 @@ class Inventory(object):
return cwd return cwd
return dname return dname
def src(self):
""" if inventory came from a file, what's the directory and file name? """
if not self.is_file():
return None
return self.host_list
def playbook_basedir(self): def playbook_basedir(self):
""" returns the directory of the current playbook """ """ returns the directory of the current playbook """
return self._playbook_basedir return self._playbook_basedir

@ -140,6 +140,10 @@ class PlayBook(object):
vars = extra_vars.copy() vars = extra_vars.copy()
if self.inventory.basedir() is not None: if self.inventory.basedir() is not None:
vars['inventory_dir'] = self.inventory.basedir() vars['inventory_dir'] = self.inventory.basedir()
if self.inventory.src() is not None:
vars['inventory_file'] = self.inventory.src()
self.filename = playbook self.filename = playbook
(self.playbook, self.play_basedirs) = self._load_playbook_from_file(playbook, vars) (self.playbook, self.play_basedirs) = self._load_playbook_from_file(playbook, vars)
ansible.callbacks.load_callback_plugins() ansible.callbacks.load_callback_plugins()

@ -411,6 +411,9 @@ class Runner(object):
if self.inventory.basedir() is not None: if self.inventory.basedir() is not None:
inject['inventory_dir'] = self.inventory.basedir() inject['inventory_dir'] = self.inventory.basedir()
if self.inventory.src() is not None:
inject['inventory_file'] = self.inventory.src()
# late processing of parameterized sudo_user # late processing of parameterized sudo_user
if self.sudo_user is not None: if self.sudo_user is not None:
self.sudo_user = template.template(self.basedir, self.sudo_user, inject) self.sudo_user = template.template(self.basedir, self.sudo_user, inject)

Loading…
Cancel
Save