1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

Merge branch 'ansible_inventory_basedir' of git://github.com/stoned/ansible into test_basedir

Conflicts:
	lib/ansible/runner/__init__.py
This commit is contained in:
Michael DeHaan 2013-03-25 22:30:06 -04:00
commit 6f2a0c60f7
4 changed files with 14 additions and 4 deletions

View file

@ -146,6 +146,8 @@ period, without the rest of the domain.
Don't worry about any of this unless you think you need it. You'll know when you do. Don't worry about any of this unless you think you need it. You'll know when you do.
Also available, *inventory_dir* is the pathname of the directory holding Ansible's inventory host file.
Variable File Separation Variable File Separation
```````````````````````` ````````````````````````

View file

@ -121,7 +121,10 @@ class PlayBook(object):
self.inventory = inventory self.inventory = inventory
self.basedir = os.path.dirname(playbook) or '.' self.basedir = os.path.dirname(playbook) or '.'
(self.playbook, self.play_basedirs) = self._load_playbook_from_file(playbook) vars = {}
if self.inventory.basedir() is not None:
vars['inventory_dir'] = self.inventory.basedir()
(self.playbook, self.play_basedirs) = self._load_playbook_from_file(playbook, vars)
# ***************************************************** # *****************************************************
@ -171,7 +174,7 @@ class PlayBook(object):
for t in tokens[1:]: for t in tokens[1:]:
(k,v) = t.split("=", 1) (k,v) = t.split("=", 1)
incvars[k] = utils.template(basedir, v, incvars) incvars[k] = utils.template(basedir, v, incvars)
included_path = utils.path_dwim(basedir, tokens[0]) included_path = utils.path_dwim(basedir, utils.template(basedir, tokens[0], incvars))
(plays, basedirs) = self._load_playbook_from_file(included_path, incvars) (plays, basedirs) = self._load_playbook_from_file(included_path, incvars)
for p in plays: for p in plays:
if 'vars' not in p: if 'vars' not in p:

View file

@ -80,8 +80,11 @@ class Play(object):
self._update_vars_files_for_host(None) self._update_vars_files_for_host(None)
self._tasks = self._load_tasks(self._ds.get('tasks', [])) load_vars = {}
self._handlers = self._load_tasks(self._ds.get('handlers', [])) if self.playbook.inventory.basedir() is not None:
load_vars['inventory_dir'] = self.playbook.inventory.basedir();
self._tasks = self._load_tasks(self._ds.get('tasks', []), load_vars)
self._handlers = self._load_tasks(self._ds.get('handlers', []), load_vars)
if self.tags is None: if self.tags is None:
self.tags = [] self.tags = []

View file

@ -339,6 +339,8 @@ class Runner(object):
inject['groups'] = self.inventory.groups_list() inject['groups'] = self.inventory.groups_list()
inject['vars'] = self.module_vars inject['vars'] = self.module_vars
inject['environment'] = self.environment inject['environment'] = self.environment
if self.inventory.basedir() is not None:
inject['inventory_dir'] = self.inventory.basedir()
# allow with_foo to work in playbooks... # allow with_foo to work in playbooks...
items = None items = None