Using the shell module to call perl to replace text in a file is jumping 
through a lot of hoops.  Ansible aims for simple.  I'd recommend using the 
template module (http://docs.ansible.com/template_module.html) and template 
out the whole sudoers file.  If you must replace text, use the replace 
module:  http://docs.ansible.com/replace_module.html.   In either case I'd 
recommend you use the "validate" option, so you can ensure the sudoers file 
has the proper syntax and you don't lock yourself out of the box.

- James


On Saturday, November 22, 2014 6:19:07 PM UTC-5, Steve Kieu wrote:
>
> Hi all,
>
> ansible complian about these
>
>
> - name: allow group wheel to run sudo with password
>   shell: "perl -i.bak -pe 's|^# 
> \%wheel[\s\\t]+ALL\=\(ALL\)[\s\\t]+NOPASSWD|\%wheel        ALL\=(ALL\)     
>   NOPASSWD|g' /etc/sudoers creates=/etc/sudoers.bak"
>
> yaml lint syntax check go green :-)
>
> ansible says:
>
> ERROR: Syntax Error while loading YAML script, 
> /etc/ansible/localhost/roles/base/tasks/05-usersetup.yml
> Note: The error may actually appear before this position: line 11, column 
> 34
>
> - name: allow group wheel to run sudo with password
>   shell: "perl -i.bak -pe 's|^# 
> \%wheel[\s\\t]+ALL\=\(ALL\)[\s\\t]+NOPASSWD|\%wheel        ALL\=(ALL\)     
>   NOPASSWD|g' /etc/sudoers creates=/etc/sudoers.bak"
>
> I think it mis understand some characters there but not sure what.  Any 
> idea?
>
>
> Kind regards
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/9bbfe0a7-4c19-4e3a-b667-049244449f53%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to