# Running roles for every host mentioned in inventory file

**URL:** <https://forum.ansible.com/t/running-roles-for-every-host-mentioned-in-inventory-file/32824>\
**Category:** Ansible Project\
**Created:** [April 30, 2020, 8:01am UTC](https://forum.ansible.com/t/running-roles-for-every-host-mentioned-in-inventory-file/32824 "2020-04-30T08:01:48Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vishal\_Bobade](https://avatars.discourse-cdn.com/v4/letter/v/c57346/32.png) [@Vishal\_Bobade](https://forum.ansible.com/u/Vishal_Bobade)\
**Post date:** [April 30, 2020, 8:01am UTC](https://forum.ansible.com/t/running-roles-for-every-host-mentioned-in-inventory-file/32824/1 "2020-04-30T08:01:48Z")

</div>

HI ,

I have my inventory file like below , where I am using the variables primaryNode, secondaryNode in the roles so that particular role will run on the host specified infront of ansible\_host values.

Now, how can i pass multiple hosts in the inventory under secondaryNode so that role2 will run on all those nodes one by one. and I will not need to create role3 or role 4 for those.

inventory file

> all:  
> children:  
> ha:  
> hosts:  
> primaryNode:  
> ansible\_host: domain.net1  
> secondaryNode:  
> ansible\_host: domain.net2

my yaml looks liike elow :

[2](https://gitlab.dev.f1.novartis.net/f1-devops-platform/platform-automation/blob/FOR-1307/ansible-playbooks/artifactory_install.yml#L2)[3](https://gitlab.dev.f1.novartis.net/f1-devops-platform/platform-automation/blob/FOR-1307/ansible-playbooks/artifactory_install.yml#L3)[4](https://gitlab.dev.f1.novartis.net/f1-devops-platform/platform-automation/blob/FOR-1307/ansible-playbooks/artifactory_install.yml#L4)[5](https://gitlab.dev.f1.novartis.net/f1-devops-platform/platform-automation/blob/FOR-1307/ansible-playbooks/artifactory_install.yml#L5)[6](https://gitlab.dev.f1.novartis.net/f1-devops-platform/platform-automation/blob/FOR-1307/ansible-playbooks/artifactory_install.yml#L6)[7](https://gitlab.dev.f1.novartis.net/f1-devops-platform/platform-automation/blob/FOR-1307/ansible-playbooks/artifactory_install.yml#L7)[8](https://gitlab.dev.f1.novartis.net/f1-devops-platform/platform-automation/blob/FOR-1307/ansible-playbooks/artifactory_install.yml#L8)[9](https://gitlab.dev.f1.novartis.net/f1-devops-platform/platform-automation/blob/FOR-1307/ansible-playbooks/artifactory_install.yml#L9)[10](https://gitlab.dev.f1.novartis.net/f1-devops-platform/platform-automation/blob/FOR-1307/ansible-playbooks/artifactory_install.yml#L10)[11](https://gitlab.dev.f1.novartis.net/f1-devops-platform/platform-automation/blob/FOR-1307/ansible-playbooks/artifactory_install.yml#L11)[12](https://gitlab.dev.f1.novartis.net/f1-devops-platform/platform-automation/blob/FOR-1307/ansible-playbooks/artifactory_install.yml#L12)[13](https://gitlab.dev.f1.novartis.net/f1-devops-platform/platform-automation/blob/FOR-1307/ansible-playbooks/artifactory_install.yml#L13)[14](https://gitlab.dev.f1.novartis.net/f1-devops-platform/platform-automation/blob/FOR-1307/ansible-playbooks/artifactory_install.yml#L14)[15](https://gitlab.dev.f1.novartis.net/f1-devops-platform/platform-automation/blob/FOR-1307/ansible-playbooks/artifactory_install.yml#L15)[16](https://gitlab.dev.f1.novartis.net/f1-devops-platform/platform-automation/blob/FOR-1307/ansible-playbooks/artifactory_install.yml#L16)[17](https://gitlab.dev.f1.novartis.net/f1-devops-platform/platform-automation/blob/FOR-1307/ansible-playbooks/artifactory_install.yml#L17)[18](https://gitlab.dev.f1.novartis.net/f1-devops-platform/platform-automation/blob/FOR-1307/ansible-playbooks/artifactory_install.yml#L18)[19](https://gitlab.dev.f1.novartis.net/f1-devops-platform/platform-automation/blob/FOR-1307/ansible-playbooks/artifactory_install.yml#L19)[20](https://gitlab.dev.f1.novartis.net/f1-devops-platform/platform-automation/blob/FOR-1307/ansible-playbooks/artifactory_install.yml#L20)[21](https://gitlab.dev.f1.novartis.net/f1-devops-platform/platform-automation/blob/FOR-1307/ansible-playbooks/artifactory_install.yml#L21)[22](https://gitlab.dev.f1.novartis.net/f1-devops-platform/platform-automation/blob/FOR-1307/ansible-playbooks/artifactory_install.yml#L22)[23](https://gitlab.dev.f1.novartis.net/f1-devops-platform/platform-automation/blob/FOR-1307/ansible-playbooks/artifactory_install.yml#L23)[24](https://gitlab.dev.f1.novartis.net/f1-devops-platform/platform-automation/blob/FOR-1307/ansible-playbooks/artifactory_install.yml#L24)

```auto
---- name: Installing primary node hosts: primaryNode become: True roles:
      - role: role1
- name: Installing secondary node hosts: secondaryNode become: True roles:
      - role: role2

```

---

<div class="post-metadata">

**Author:** ![Neha\_Pithadiya](https://avatars.discourse-cdn.com/v4/letter/n/a3d4f5/32.png) [@Neha\_Pithadiya](https://forum.ansible.com/u/Neha_Pithadiya)\
**Post date:** [May 2, 2020, 10:20am UTC](https://forum.ansible.com/t/running-roles-for-every-host-mentioned-in-inventory-file/32824/2 "2020-05-02T10:20:49Z")

</div>

I think its not possible to pass multiple values to “ansible\_host” variable . You can create “group” in inventory file with all the hosts listed under it.

Thanks  
Neha Pithadiya.

---

<div class="post-metadata">

**Author:** ![David\_Foley](https://avatars.discourse-cdn.com/v4/letter/d/9e8a1a/32.png) [@David\_Foley](https://forum.ansible.com/u/David_Foley)\
**Post date:** [May 2, 2020, 12:42pm UTC](https://forum.ansible.com/t/running-roles-for-every-host-mentioned-in-inventory-file/32824/3 "2020-05-02T12:42:48Z")

</div>

Not sure if it's possible with ansbile but with Salt you can set Grains and do if else statements based on those grains

{% if role[host1] }  
- role: host1  
{% elif role[hoat2] %}  
-role: host 2  
{%endif%}

I would look up condition s for ansible

---

<div class="post-metadata">

**Author:** ![racke](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/racke/32/4767_2.png) [@racke](https://forum.ansible.com/u/racke)\
**Post date:** [May 2, 2020, 1:36pm UTC](https://forum.ansible.com/t/running-roles-for-every-host-mentioned-in-inventory-file/32824/4 "2020-05-02T13:36:27Z")

</div>

Don't know about virtual grains, but you can apply when: conditions

- role: role1  
&nbsp;&nbsp;when: "'role1' in group\_names"

Regards  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Racke
