# Running a task on multi groups using when

**URL:** <https://forum.ansible.com/t/running-a-task-on-multi-groups-using-when/32481>\
**Category:** Ansible Project\
**Created:** [March 17, 2020, 6:33am UTC](https://forum.ansible.com/t/running-a-task-on-multi-groups-using-when/32481 "2020-03-17T06:33:45Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![dudu.c](https://avatars.discourse-cdn.com/v4/letter/d/278dde/32.png) [@dudu.c](https://forum.ansible.com/u/dudu.c)\
**Post date:** [March 17, 2020, 6:33am UTC](https://forum.ansible.com/t/running-a-task-on-multi-groups-using-when/32481/1 "2020-03-17T06:33:45Z")

</div>

HI,

I have a task that runs only on servers that are under Kafka group. How can i run the task on Kafka and Webserver groups only.

Thanks

```auto
- name: install java-8-openjdk' packages
  yum:
    name: ['java-1.8.0-openjdk']
    state: latest
    when: "'kafka' in group_names"

```

---

<div class="post-metadata">

**Author:** ![Albert\_Short](https://avatars.discourse-cdn.com/v4/letter/a/838e76/32.png) [@Albert\_Short](https://forum.ansible.com/u/Albert_Short)\
**Post date:** [March 17, 2020, 7:14am UTC](https://forum.ansible.com/t/running-a-task-on-multi-groups-using-when/32481/2 "2020-03-17T07:14:38Z")

</div>

This is one option I have used in the past

 ![](https://us1.discourse-cdn.com/ansible/original/2X/f/f81475321e22416d20089ca0ee467110825f2e42.png)

---

<div class="post-metadata">

**Author:** ![dudu.c](https://avatars.discourse-cdn.com/v4/letter/d/278dde/32.png) [@dudu.c](https://forum.ansible.com/u/dudu.c)\
**Post date:** [March 17, 2020, 10:04am UTC](https://forum.ansible.com/t/running-a-task-on-multi-groups-using-when/32481/3 "2020-03-17T10:04:36Z")

</div>

I have a partial success that I can not figure what is the problem.  
I have 2 tasks, one not in group and the other in group

The first task is running as required, the second task is skipping all groups - Can not understand why

```auto
- name: install java-11-openjdk' packages
  yum:
    name: ['java-11-openjdk']
    state: latest
  when:
    - inventory_hostname not in groups.kafka
    - inventory_hostname not in groups.kafka_master

- name: install java-8-openjdk' packages
  yum:
    name: ['java-1.8.0-openjdk']
    state: latest
  when:
    - inventory_hostname in groups.kafka
    - inventory_hostname in groups.kafka_master

```

```auto

```

TASK [install java-11-openjdk’ packages] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
ok: [10.201.51.34]  
skipping: [10.201.51.39]  
skipping: [10.201.51.40]  
skipping: [10.201.51.41]  
ok: [10.201.51.38]  
ok: [10.201.51.37]  
ok: [10.201.51.42]  
ok: [10.201.51.36]  
skipping: [10.201.51.44]  
skipping: [10.201.51.45]  
skipping: [10.201.51.46]  
ok: [10.201.51.30]  
ok: [10.201.51.31]  
ok: [10.201.51.35]  
ok: [10.201.51.32]  
ok: [10.201.51.33]  
ok: [10.201.51.5]

TASK [install java-8-openjdk’ packages] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
skipping: [10.201.51.42]  
skipping: [10.201.51.34]  
skipping: [10.201.51.36]  
skipping: [10.201.51.37]  
skipping: [10.201.51.38]  
skipping: [10.201.51.39]  
skipping: [10.201.51.40]  
skipping: [10.201.51.41]  
skipping: [10.201.51.30]  
skipping: [10.201.51.31]  
skipping: [10.201.51.32]  
skipping: [10.201.51.44]  
skipping: [10.201.51.45]  
skipping: [10.201.51.46]  
skipping: [10.201.51.5]  
skipping: [10.201.51.35]  
skipping: [10.201.51.33]

---

<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:** [March 17, 2020, 10:10am UTC](https://forum.ansible.com/t/running-a-task-on-multi-groups-using-when/32481/4 "2020-03-17T10:10:09Z")

</div>

> I have a partial success that I can not figure what is the problem.  
> I have 2 tasks, one not in group and the other in group
> 
> The first task is running as required, the second task is skipping all groups - Can not understand why
> 
> - name: install java-11-openjdk' packages  
> &nbsp;&nbsp;yum:  
> &nbsp;&nbsp;&nbsp;&nbsp;name: ['java-11-openjdk']  
> &nbsp;&nbsp;&nbsp;&nbsp;state: latest  
> &nbsp;&nbsp;when:  
> &nbsp;&nbsp;&nbsp;&nbsp;- inventory\_hostname not in groups.kafka  
> &nbsp;&nbsp;&nbsp;&nbsp;- inventory\_hostname not in groups.kafka\_master
> 
> - name: install java-8-openjdk' packages  
> &nbsp;&nbsp;yum:  
> &nbsp;&nbsp;&nbsp;&nbsp;name: ['java-1.8.0-openjdk']  
> &nbsp;&nbsp;&nbsp;&nbsp;state: latest  
> &nbsp;&nbsp;when:  
> &nbsp;&nbsp;&nbsp;&nbsp;- inventory\_hostname in groups.kafka  
> &nbsp;&nbsp;&nbsp;&nbsp;- inventory\_hostname in groups.kafka\_master

That is because both conditions are combined with an AND, so I can't be true.

You can try or (untested):

when: inventory\_hostname in groups.kafka or inventory\_hostname in groups.kafka\_master

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