# How do I exit Ansible playbook without error on a condition

**URL:** <https://forum.ansible.com/t/how-do-i-exit-ansible-playbook-without-error-on-a-condition/29108>\
**Category:** Ansible Project\
**Created:** [November 24, 2018, 5:19pm UTC](https://forum.ansible.com/t/how-do-i-exit-ansible-playbook-without-error-on-a-condition/29108 "2018-11-24T17:19:26Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Pandu\_jh](https://avatars.discourse-cdn.com/v4/letter/p/3bc359/32.png) [@Pandu\_jh](https://forum.ansible.com/u/Pandu_jh)\
**Post date:** [November 24, 2018, 5:19pm UTC](https://forum.ansible.com/t/how-do-i-exit-ansible-playbook-without-error-on-a-condition/29108/1 "2018-11-24T17:19:26Z")

</div>

I have 3 plays in a playbook. In a task in 1st play, If the desired value is not set to variable, the execution should exist with success status and remaining plays also should not get executed.

---

<div class="post-metadata">

**Author:** ![Kai\_Stian\_Olstad](https://avatars.discourse-cdn.com/v4/letter/k/e19adc/32.png) [@Kai\_Stian\_Olstad](https://forum.ansible.com/u/Kai_Stian_Olstad)\
**Post date:** [November 24, 2018, 5:35pm UTC](https://forum.ansible.com/t/how-do-i-exit-ansible-playbook-without-error-on-a-condition/29108/2 "2018-11-24T17:35:01Z")

</div>

You could put play 2 and 3 in it's own file and use import\_playbook: in play 1 with a when statement.  
Because import is static all the task in the plays will be imported and executed but because of the when they will all be skipped.

---

<div class="post-metadata">

**Author:** ![Uwe\_Sauter](https://avatars.discourse-cdn.com/v4/letter/u/41988e/32.png) [@Uwe\_Sauter](https://forum.ansible.com/u/Uwe_Sauter)\
**Post date:** [November 24, 2018, 5:54pm UTC](https://forum.ansible.com/t/how-do-i-exit-ansible-playbook-without-error-on-a-condition/29108/3 "2018-11-24T17:54:18Z")

</div>

[https://docs.ansible.com/ansible/2.7/modules/meta\_module.html](https://docs.ansible.com/ansible/2.7/modules/meta_module.html)

- meta: end\_play  
&nbsp;&nbsp;&nbsp;when: condition is true

---

<div class="post-metadata">

**Author:** ![Pandu\_jh](https://avatars.discourse-cdn.com/v4/letter/p/3bc359/32.png) [@Pandu\_jh](https://forum.ansible.com/u/Pandu_jh)\
**Post date:** [November 26, 2018, 9:53am UTC](https://forum.ansible.com/t/how-do-i-exit-ansible-playbook-without-error-on-a-condition/29108/4 "2018-11-26T09:53:59Z")

</div>

Thanks for your update. But I have multiple plays in my playbook and those plays are being executed on hosts using add\_hosts module.

“end\_play” is terminated only that particular play and the following plays are being executed.

---

<div class="post-metadata">

**Author:** ![Pandu\_jh](https://avatars.discourse-cdn.com/v4/letter/p/3bc359/32.png) [@Pandu\_jh](https://forum.ansible.com/u/Pandu_jh)\
**Post date:** [November 26, 2018, 9:59am UTC](https://forum.ansible.com/t/how-do-i-exit-ansible-playbook-without-error-on-a-condition/29108/5 "2018-11-26T09:59:54Z")

</div>

Thanks for your response. my playbook has multiple plays and hosts value will be passed between plays through add\_host module. output of a task of one play is the host value of the next play.  
So, Please let me know how to pass host from one playbook to playbook.
