Commit 7a68f4e4 by James Cammarata

Make sure playbook_dir variable is an absolute path

Fixes #8317
parent 4dcbeed7
......@@ -169,7 +169,7 @@ class PlayBook(object):
self.inventory.set_playbook_basedir(self.basedir)
vars = extra_vars.copy()
vars['playbook_dir'] = self.basedir
vars['playbook_dir'] = os.path.abspath(self.basedir)
if self.inventory.basedir() is not None:
vars['inventory_dir'] = self.inventory.basedir()
......
......@@ -76,6 +76,7 @@ class Play(object):
self.tags = []
# make sure we have some special internal variables set
self.vars['playbook_dir'] = os.path.abspath(self.basedir)
if self.playbook.inventory.basedir() is not None:
self.vars['inventory_dir'] = self.playbook.inventory.basedir()
if self.playbook.inventory.src() is not None:
......@@ -152,7 +153,6 @@ class Play(object):
load_vars = {}
load_vars['role_names'] = ds.get('role_names',[])
load_vars['playbook_dir'] = self.basedir
self._tasks = self._load_tasks(self._ds.get('tasks', []), load_vars)
self._handlers = self._load_tasks(self._ds.get('handlers', []), load_vars)
......
......@@ -609,7 +609,7 @@ class Runner(object):
inject['vars'] = self.module_vars
inject['defaults'] = self.default_vars
inject['environment'] = self.environment
inject['playbook_dir'] = self.basedir
inject['playbook_dir'] = os.path.abspath(self.basedir)
# template this one is available, callbacks use this
delegate_to = self.module_vars.get('delegate_to')
......
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