template_fullpath is the absolute path of the template.
Can someone explain how “the path” is suppose to be different from “the absolute path”? If I put both those variables in a template, they are expanded to the absolute path to the template on the source filesystem e.g.
template_fullpath is the absolute path of the template.
Can someone explain how "the path" is suppose to be different from "the absolute path"? If I put both those variables in
a template, they are expanded to the absolute path to the template on the source filesystem e.g.
A bit of history here, initially path was the 'relative path' passed
to src: for the template action and fullpath was the 'absolute
resolved path' to the template file.
But later on a request for these same variables added to the template
lookup created a change and moved them to a centralize function, but
now that function receives only the resolved path (i consider this a
bug) so they are always the same.
Thanks, Brian, that was all very helpful. I look forward to the fix hitting release.
I’m looking at those variables because of the documented implications of the {file} part of ansible_managed being absolute, what was said in https://github.com/ansible/ansible/pull/15559 about ansible_managed maybe being removed, and how much I like comments in files which explain which template was used to create them. Whilst looking at making my own variable to use in place of ansible_managed I’ve come up with
which comes out as something like “foo/templates/blah.txt”. (Which is somewhat inelegant but the only way I could think of to deal with there being an unpredictable number of directories above the one called “roles”.)