I'd be open to a param on the fail module for that. Not entirely sure what the plumbing throughout the stack might be to get it done.
On Fri, Aug 1, 2014 at 4:21 PM, Outsider <[email protected]> wrote: > Maybe a fail_all module or a modification of the current fail module to > add an all argument? > On 1 Aug 2014 22:17, "Outsider" <[email protected]> wrote: > >> This got me thinking that we kinda need an action to mimic >> any_errors_fatal in a task, would be very helpful in cases like this.. >> where you need to trigger a whole playbook failure conditionlly without >> affecting the default failure behavior.. anything like that in the works? >> On 1 Aug 2014 22:08, "Michael DeHaan" <[email protected]> wrote: >> >>> Another nice shortcut that is a bit of syntactic sugar for "fail + when" >>> is the assert module. It's a little weird because it has the "that" in >>> there but we needed a key name for the argument. >>> >>> - assert: >>> that: >>> - "confirmation == 'YES'" >>> >>> OR: >>> >>> - assert: { that: "confirmation == 'YES' } >>> >>> etc >>> >>> >>> >>> >>> >>> On Fri, Aug 1, 2014 at 3:14 PM, Amr Ali <[email protected]> wrote: >>> >>>> First of all failed_when doesn't work for vars_prompt only for tasks.. >>>> >>>> here is what you could do : >>>> >>>> - hosts: all >>>> any_errors_fatal: yes >>>> vars_prompt: >>>> >>>> name: "confirmation" >>>> prompt: "Are you sure you want to run this playbook? Answer with >>>> 'YES'" >>>> default: "NO" >>>> private: no >>>> >>>> tasks: >>>> - name: Check Confirmation >>>> fail: msg="Playbook run confirmation failed" >>>> when: confirmation != "YES" >>>> >>>> >>>> note the use of any_errors_fatal, this is important because otherwise >>>> the check task will only fail for the current host only, this makes the >>>> whole playbook fails on any errors. >>>> >>>> problem with this is that it's not foolproof for instance if you did >>>> confirm the run and any of your tasks failed, it'd fail the whole playbook >>>> as opposed to the default behavior of taking out the just the host that >>>> failed. >>>> >>>> the only way to counter this is to use when: confirmation == "YES" in >>>> all your tasks, instead of using a primary "Fail Task", a bit ugly but a >>>> safer route depending on your use case. >>>> >>>> also if you go the "Fail Task" route keep in mind that this won't work >>>> if your playbook uses roles, in this case use a pre_tasks instead of a >>>> normal tasks. >>>> >>>> >>>> On Friday, August 1, 2014 7:13:11 PM UTC+2, maticm1 wrote: >>>>> >>>>> How do you set up a confirmation prompt before running a playbook? >>>>> >>>>> I'd like to have to enter "YES" before the playbook makes any changes >>>>> to hosts. Right now I have the following code in site.yml, but it's not >>>>> working. >>>>> >>>>> vars_prompt: >>>>> - name: "confirmation" >>>>> prompt: "Are you sure you want to run this playbook? Answer with >>>>> 'YES'" >>>>> default: "NO" >>>>> private: no >>>>> failed_when: "confirmation != YES" >>>>> >>>>> >>>>> -- >>>> 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/600eb96a-95cd-46c1-ad9e-8293b97457b6%40googlegroups.com >>>> <https://groups.google.com/d/msgid/ansible-project/600eb96a-95cd-46c1-ad9e-8293b97457b6%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 a topic in the >>> Google Groups "Ansible Project" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/ansible-project/gDzrZVQ3AMw/unsubscribe >>> . >>> To unsubscribe from this group and all its topics, 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/CA%2BnsWgxQ3d-%2BouBr2YezD-no0N%2BiJsegq_m5stKycU6QOvaJ_A%40mail.gmail.com >>> <https://groups.google.com/d/msgid/ansible-project/CA%2BnsWgxQ3d-%2BouBr2YezD-no0N%2BiJsegq_m5stKycU6QOvaJ_A%40mail.gmail.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/CAEgsm8P3hdxe5TXkfzdsu27GD2AUHq5VxbN1LAf%2B0icVk_kSUQ%40mail.gmail.com > <https://groups.google.com/d/msgid/ansible-project/CAEgsm8P3hdxe5TXkfzdsu27GD2AUHq5VxbN1LAf%2B0icVk_kSUQ%40mail.gmail.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/CA%2BnsWgwMnDOsM3WuF8TTr-Gyn-h1OPmFf3qY2mDE2GoPxBfRWw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
