diff --git a/lib/ansible/playbook/__init__.py b/lib/ansible/playbook/__init__.py index 7213d9ffa4d..7625c7ec8ab 100644 --- a/lib/ansible/playbook/__init__.py +++ b/lib/ansible/playbook/__init__.py @@ -138,6 +138,7 @@ class PlayBook(object): self.basedir = os.path.dirname(playbook) or '.' utils.plugins.push_basedir(self.basedir) vars = extra_vars.copy() + vars['playbook_dir'] = self.basedir if self.inventory.basedir() is not None: vars['inventory_dir'] = self.inventory.basedir() diff --git a/lib/ansible/playbook/play.py b/lib/ansible/playbook/play.py index dc4421756ca..47f80f0611f 100644 --- a/lib/ansible/playbook/play.py +++ b/lib/ansible/playbook/play.py @@ -123,6 +123,7 @@ class Play(object): self.max_fail_pct = int(ds.get('max_fail_percentage', 100)) load_vars = {} + load_vars['playbook_dir'] = self.basedir if self.playbook.inventory.basedir() is not None: load_vars['inventory_dir'] = self.playbook.inventory.basedir() diff --git a/lib/ansible/runner/__init__.py b/lib/ansible/runner/__init__.py index b3d27fefef2..62c2c8a3945 100644 --- a/lib/ansible/runner/__init__.py +++ b/lib/ansible/runner/__init__.py @@ -415,6 +415,7 @@ class Runner(object): inject['vars'] = self.module_vars inject['defaults'] = self.default_vars inject['environment'] = self.environment + inject['playbook_dir'] = self.basedir if self.inventory.basedir() is not None: inject['inventory_dir'] = self.inventory.basedir()