# Run multiple play books according to role

**URL:** <https://forum.ansible.com/t/run-multiple-play-books-according-to-role/26813>\
**Category:** Ansible Project\
**Created:** [February 21, 2018, 2:15pm UTC](https://forum.ansible.com/t/run-multiple-play-books-according-to-role/26813 "2018-02-21T14:15:22Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ansiblekrazy](https://avatars.discourse-cdn.com/v4/letter/a/c37758/32.png) [@ansiblekrazy](https://forum.ansible.com/u/ansiblekrazy)\
**Post date:** [February 21, 2018, 2:15pm UTC](https://forum.ansible.com/t/run-multiple-play-books-according-to-role/26813/1 "2018-02-21T14:15:22Z")

</div>

I want to run playbooks according to role

host file will contain all host:groups

if role a and group a:

run playbook a

if role b and group b

run playbook b etc

Or if we give role in runtime, it will run the playbook corresponding to it

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/ansible/original/1X/1882d9a01da5d8996a862359b0913cc568a39b84.svg) [@system](https://forum.ansible.com/u/system)\
**Post date:** [February 21, 2018, 7:23pm UTC](https://forum.ansible.com/t/run-multiple-play-books-according-to-role/26813/2 "2018-02-21T19:23:40Z")

</div>

Your roles sounds like 'other type of group', i.e webserver, dbserver,  
just define those as groups in Ansible. and then:

hosts; rolea:&groupa

^ play runs against hosts in BOTH groups.

In Ansible 'role' means a 'reusable component' that can be  
tasks/templates/vars/etc, it is not associated to a host directly,  
that is what plays do.

---

<div class="post-metadata">

**Author:** ![ansiblekrazy](https://avatars.discourse-cdn.com/v4/letter/a/c37758/32.png) [@ansiblekrazy](https://forum.ansible.com/u/ansiblekrazy)\
**Post date:** [February 22, 2018, 4:28pm UTC](https://forum.ansible.com/t/run-multiple-play-books-according-to-role/26813/3 "2018-02-22T16:28:22Z")

</div>

So what if I want to run playbook a,b,c if group a and c,d,e if group type is b

can it be achieved via one combined playbook

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/ansible/original/1X/1882d9a01da5d8996a862359b0913cc568a39b84.svg) [@system](https://forum.ansible.com/u/system)\
**Post date:** [February 22, 2018, 5:08pm UTC](https://forum.ansible.com/t/run-multiple-play-books-according-to-role/26813/4 "2018-02-22T17:08:12Z")

</div>

you can have many plays per playbook or even include other playbooks  
in a playbook, not sure what your combinations above mean, but you  
should be able to adjust the hosts: keyword to whatever you want.
