You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What happened?
When not specifying the coredns_binary_local_dir, the binary is trying to be downloaded to machine from which Ansible is running, requiring root permission (even when become: false is set up in block).
Did you expect to see some different?
I would expect that when the coredns_binary_local_dir is not specified, the binary is downloaded on target machine and installed there.
How to reproduce it (as minimally and precisely as possible):
Do not specify the coredns_binary_local_dir in any vars file
Run the playbook with minimal config under non-root user of target machine (with passwordless sudo enabled)
hosts: all
roles:
- role: cloudalchemy.coredns
Environment
Target machine: Centos 7
Ansible Control machine: Fedora 31
Is this behaviour intentional? I don't see a reason why the binary should be downloaded on control machine when I didn't specify to use version downloaded on the control machine. It makes more sense to let everything happen on remote node (I don't want to provide root password to my machine -> seems like become: false is not respected in block
I'm having the exact same problem. In my case, I don't even have an ssh daemon running locally, so the download task should also run with the flag connection: local.
Did you found a solution that does not involves forking this repo?
No I haven't in the end I didn't use this role. Seems to me that forking would be only option for you and fixing it by yourself as it looks like issues reported here are no longer solved.
Ok, in my case what I did was to download the binary myself and put it on a local directory.
Not pretty, but at least I don't have to do yaml gymnastics to avoid a problem that should not exist.
What happened?
When not specifying the
coredns_binary_local_dir
, the binary is trying to be downloaded to machine from which Ansible is running, requiring root permission (even whenbecome: false
is set up in block).Did you expect to see some different?
I would expect that when the
coredns_binary_local_dir
is not specified, the binary is downloaded on target machine and installed there.How to reproduce it (as minimally and precisely as possible):
coredns_binary_local_dir
in any vars fileEnvironment
Target machine: Centos 7
Ansible Control machine: Fedora 31
Role version:
0.3.1
Ansible version information:
ansible 2.9.6
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/luknagy/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /home/luknagy/.local/share/virtualenvs/homenas-i9vCctaZ/lib/python3.7/site-packages/ansible
executable location = /home/luknagy/.local/share/virtualenvs/homenas-i9vCctaZ/bin/ansible
python version = 3.7.6 (default, Jan 30 2020, 09:44:41) [GCC 9.2.1 20190827 (Red Hat 9.2.1-1)]
Variables:
Anything else we need to know?:
Is this behaviour intentional? I don't see a reason why the binary should be downloaded on control machine when I didn't specify to use version downloaded on the control machine. It makes more sense to let everything happen on remote node (I don't want to provide root password to my machine -> seems like
become: false
is not respected in blockansible-coredns/tasks/install.yml
Lines 29 to 61 in 39c5a51
The text was updated successfully, but these errors were encountered: