you can add one extra pre-task before hand to check if the file/service exist then run handlers ( or other tasks with a registered variable e.g. when)
On 27 February 2014 22:32, Matthew R <[email protected]> wrote: > Hi everyone, > > I'm still a bit new to Ansible. I really like it, but it can be a little > flummoxing at times for a beginner ;). > > For example, I am probably going about this the wrong way, but consider > these lines from a playbook: > - name: Configure MTA to Local Only -- CIS 3.16 > lineinfile: dest=/etc/postfix/main.cf > regexp='^(?i)inet_interfaces.*' > line='inet_interfaces = localhost' > state=present > > This produces the following output: > TASK: [cis | Configure MTA to Local Only -- CIS 3.16] > ************************* > failed: [devct67.umaryland.edu] => {"failed": true, "item": "", "rc": 257} > msg: Destination /etc/postfix/main.cf does not exist ! > > > OK. So, not *all* of my machines have postfix on them. But *if* they do, > I want to run this 'lineinfile' command. > > I have considered almost every "when" option I can think of, but most of > them fail because it's a negative test. For example, I wrote a plugin that > returns all packages on a system in a dictionary. So I had a line like: > > when: "packages['postfix'] == True" > > produces: > TASK: [cis | Configure MTA to Local Only -- CIS 3.16] > ************************* > fatal: [devct67.umaryland.edu] => error while evaluating > conditional:umb_packages > ['postfix'] == True > > That fails, however, when postfix isn't installed, which is exactly what > I'm trying to find out. > > So- what are my options? How *should* I be doing this? > > -- > 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/3dfe815e-cd8f-4a4d-9c2b-7ed1dbd17df8%40googlegroups.com > . > For more options, visit https://groups.google.com/groups/opt_out. > -- 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/CAN4dctqE-h%2B%2BbEF6VOYqtkAkCnLm91Z785NZdmJLn_Q88OBSbg%40mail.gmail.com. For more options, visit https://groups.google.com/groups/opt_out.
