Hello,
I have a problem after migration from 1.5.3 to 1.5.4
My ansible directory is structured according to recommendations in Best Practices doc.
It is stored in
/vagrant/ansible/vagrant/ansible/group_vars/all contains directives like
fileshare_username: foo
fileshare_password: "{{ lookup('file', '../../../credentials/common/ldap/' + fileshare_username) }}"
Password is stored in
/vagrant/ansible/credentials/common/ldap/foo/vagrant/ansible/roles/app/tasks/main.yml contains task that uses these credentials:
- name: copy smb credentials for the user
sudo: yes
sudo_user: "{{ cli_user }}"
template: src=.smbcredentials.j2 dest=~/.smbcredentials mode=0600
with_items:
- {username: "{{ fileshare_username }}", password: "{{ fileshare_password }}"}I execute Ansible from /vagrant/ansible directory.
After upgrade to 1.5.4 I receive the following message:
/credentials/common/ldap/foo does not exist
It means that now Ansible resolves this path from the current directory, while earlier it resolved this path from the base directory of /vagrant/ansible/roles/app/tasks/main.yml file.
If I change
fileshare_password value to
"{{ lookup('file', 'credentials/common/ldap/' + fileshare_username) }}" or
"{{ lookup('file', './credentials/common/ldap/' + fileshare_username) }}" then it starts looking for the
/vagrant/ansible/roles/app/files/credentials/common/ldap/foo file. Changing value to
"{{ lookup('file', './../../../credentials/common/ldap/' + fileshare_username) }}" don't help (it falls to
/credentials).
I'm using self-compiled deb packages for Debian 7 without any modifications (git clone && git checkout v1.5.4 && make deb).
I haven't posted issue on github because I'm not sure if it's an issue.
Thanks in advance.