Hey Edvinas, As Kosala mentions, this should do what you want, however I think the specific piece of documentation to note is "Ansible *finishes the fatal task on all hosts in the current batch*". With 2 hosts, and the default of 5 forks, your batch size will be 5 so your play will carry on across both hosts. If you set "serial: 1" it'll probably behave the way you want.
Cheers, Will. On Tue, 6 Jun 2023 at 08:05, "Kosala Atapattu (කෝසල අතපත්තු)" < [email protected]> wrote: > The doc says it should do what you’re after. > > If you set any_errors_fatal and a task returns an error, Ansible finishes > the fatal task on all hosts in the current batch, then stops executing the > play on all hosts. Subsequent tasks and plays are not executed. You can > recover from fatal errors by adding a rescue section > <https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_blocks.html#block-error-handling> > to > the block. You can set any_errors_fatal at the play or block level. > > > I never have used it personally, but are you setting > any_errors_fatal:true at the task level or playbook level? > > > > Sent from my iPhone > > On 6/06/2023, at 6:51 PM, Edvinas Kairys <[email protected]> wrote: > > Hello, thanks for reply. > > I've two hosts in the play, and one of the hosts assert module doesnt > validate to true and fails. With any_errors_fatal command I expect the > playbook to stop on all hosts within the play. But in my case, the play > stops only on failed host, it continues with other host where assertions > passed. > > Is this expected behaviour ? > > On Tuesday, June 6, 2023, Kosala Atapattu <[email protected]> > wrote: > >> Yes any_errors_fatal is what you need: >> https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_error_handling.html#aborting-on-the-first-error-any-errors-fatal >> >> When you say it doesn't seem to work, what does not seem to work? >> >> *Kosala* >> >> >> >> >> On Tue, Jun 6, 2023 at 2:07 AM [email protected] < >> [email protected]> wrote: >> >>> Hello, >>> >>> My playbook has several hosts, and I have some tasks with *assert *and *fail >>> *modules. How to do that if the task gets any fatal error in the play >>> within particular host - the whole play should is terminated ? >>> >>> I thought that playbook command *any_errors_fatal *would work, but >>> seems not. >>> >>> Is there any other way to make playbook stop if any of the hosts >>> experiences errors ? >>> >>> I see ansible has meta modules - there are some kind like end_play >>> module, maybe this one would work.. >>> >>> Thank you. >>> >>> -- >>> 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 view this discussion on the web visit >>> https://groups.google.com/d/msgid/ansible-project/87c9f759-872f-40b7-b80c-73f61817fb82n%40googlegroups.com >>> <https://groups.google.com/d/msgid/ansible-project/87c9f759-872f-40b7-b80c-73f61817fb82n%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- >> 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/VjdgAcJWJzc/unsubscribe >> . >> To unsubscribe from this group and all its topics, send an email to >> [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/ansible-project/CAP7S5HawfBqkb4L1DjmZumHmJFw-Rtm8Fuh4t2JCuKmr_AE_-A%40mail.gmail.com >> <https://groups.google.com/d/msgid/ansible-project/CAP7S5HawfBqkb4L1DjmZumHmJFw-Rtm8Fuh4t2JCuKmr_AE_-A%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- > 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 view this discussion on the web visit > https://groups.google.com/d/msgid/ansible-project/CAOrc2M9XhNiSe5ieGYMoonMU0gnScrp1fUv2YtzZdm4gy8sW_g%40mail.gmail.com > <https://groups.google.com/d/msgid/ansible-project/CAOrc2M9XhNiSe5ieGYMoonMU0gnScrp1fUv2YtzZdm4gy8sW_g%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > -- > 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 view this discussion on the web visit > https://groups.google.com/d/msgid/ansible-project/66611F66-7964-4D3F-8CB8-2018FEBAB763%40gmail.com > <https://groups.google.com/d/msgid/ansible-project/66611F66-7964-4D3F-8CB8-2018FEBAB763%40gmail.com?utm_medium=email&utm_source=footer> > . > -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/CAKtKohQtv40%2BsXbpkfhQwJwZC%3DDS2RyjtFj12_gz1QDfZFWTag%40mail.gmail.com.
