Absolute path for playbook.basedir + vars.playbook_path

Hey

I’ve been doing some lookup() local command jank to get the absolute directory path to my playbook where I store some additional non role specific config files… plabook_basedir/files/playbookspecific.tar.gz. I then pass that path in to my various roles that require the centrally located file. This keeps my playbooks and files nice and tidy and makes sense in the playbook where I pass the search paths to my roles as myrole.files : “{{ playbook_dir }}/files” which I then use to add to my file search path.

I noticed that the inventory_path is absolute so I decided that rather than continue to use a lookup() to set the playbook base path, this should be provided by ansible and accurate to the local system path.

My proposed changes: https://github.com/dingus9/ansible/commit/e9d14cdec5d02282a691d42d370c5b72456b034e If this seems reasonable I’ll create a PR. The code is working, however if someone could suggest a test to run against playbooks that would help.

If you’d like to get something reviewed, definitely submit a pull request - though I’d like to see this without the extraneous whitespace changes that complicate the diff and code attribution.

My gut feeling is that rather than doing the “x or y”, os.path.abspath just needs to be called on the path, if defined, because this code seems to imply something a bit different.

I could be wrong though, in skimming, but I don’t see where it absoluting the path.

OK thanks, I updated and submitted a PR. Code is a little cleaner and should do what I need.

https://github.com/ansible/ansible/pull/8165