I have the following task in ansible:
- file: "state=directory path=/servers/repo"
sudo: yes
name: "Create the base site directory."
which should run as my user but with root privileges. But even though my user is a sudoer it fails with
Sorry, user sofiab is not allowed to execute '/bin/sh -c echo SUDO-SUCCESS-amlzcqzchzpjsgkllckjhjfednpjgevj; LANG=C LC_CTYPE=C /usr/bin/python /home/sofiab/.ansible/tmp/ansible-tmp-1409321488.66-202796192861545/file; rm -rf /home/sofiab/.ansible/tmp/ansible-tmp-1409321488.66-202796192861545/ >/dev/null 2>&1' as root
Of course, when i do sudo -s
in the server i have all the right permissions but somehow with ansible it's not working.
Any idea why?
The problem was that i had no permission to run /bin/sh. I needed to set the executable to /bin/bash - this can be done in ansible's config file. So in the current directory i created the ansible.cfg file with the following contents:
and that was it!
It seems like you do not have full sudo access, because of which some commands are failing with Ansible. Can you try running the below commands with sudo and see if you can successfully execute it on your remote host ?
If any of that doesn't works then you should add that command to your sudoers file.