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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to