Hi Raja I struggled with this, and the approach I settled with is to duplicate the task, having one with the 'sudo:' parameter and one without, and each having a 'when:' conditional.
- command: something sudo: yes when: env == 'development' - command: something when: env != 'development' Hope this helps Tom On 13 Jan 2015 14:49, "Rajagopal V" <[email protected]> wrote: > Hi, > (Originally posted to Ansible Dev by mistake) > > Im a newbie trying to automate a few commands across boxes using Ansible. > > I would like the sudo command on certain tasks to be conditional, so > depending on the node, I'd like to turn on sudo or not. For e.g. I have a > development machine (my laptop) and a stage server where I need certain > sets of commands to be run. On the dev machine, I dont need any of the > commands to be run as sudo but need them to run as sudo on the stage > server. > > I thought something like > > - hosts: all > tasks: > - name: Execute Command X > command: Command X > sudo: inventory_hostname != 'localhost' > > My Hosts file contains entries like > localhost > demo7 ansible_ssh_host=... ansible_ssh_port=.. > > would make the task not run as sudo on "localhost" (my dev machine) but > would run with sudo on the other nodes. Unfortunately, this doesnt happen > and it always treats this as sudo: False. > > Is it possible to have conditionals in sudo ? > > UPDATE: Looking through the source, this doesn't seem to be the case. The > Expression doesnt seem to be evaluated and sent directly to utils.boolean. > Is there any other way of achieving this goal other than running every > task twice -- once with sudo and once without. > > > Thanks > Raja > > -- > 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/cd3109da-57f5-4c0a-9812-29742c81726b%40googlegroups.com > <https://groups.google.com/d/msgid/ansible-project/cd3109da-57f5-4c0a-9812-29742c81726b%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- 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/CAAnNz0MC_3SRPsS1tvbJyV%2Bja6Da6-NirR04-WEMKy_Grc6SLw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
