# using a variable as a group name when executing a task ?

**URL:** <https://forum.ansible.com/t/using-a-variable-as-a-group-name-when-executing-a-task/19758>\
**Category:** Ansible Project\
**Created:** [November 13, 2015, 3:53pm UTC](https://forum.ansible.com/t/using-a-variable-as-a-group-name-when-executing-a-task/19758 "2015-11-13T15:53:08Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Alejandro\_Comisario1](https://avatars.discourse-cdn.com/v4/letter/a/ecccb3/32.png) [@Alejandro\_Comisario1](https://forum.ansible.com/u/Alejandro_Comisario1)\
**Post date:** [November 13, 2015, 3:53pm UTC](https://forum.ansible.com/t/using-a-variable-as-a-group-name-when-executing-a-task/19758/1 "2015-11-13T15:53:08Z")

</div>

Hi all ! is there any way of achieving the following ?  
( i’ve tried this ones and i get “ **no hosts matched** ” )

monitor\_group = “glance”

- hosts: “{{ monitor\_group }}”  
roles:
- { role: icinga2-check-commands, tags: [‘monitor-cloud’] }

OR

monitor\_group = glance

- hosts: “{{ monitor\_group }}”  
roles:
- { role: icinga2-check-commands, tags: [‘monitor-cloud’] }

---

<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 13, 2015, 3:58pm UTC](https://forum.ansible.com/t/using-a-variable-as-a-group-name-when-executing-a-task/19758/2 "2015-11-13T15:58:28Z")

</div>

What about:

- vars:  
&nbsp;&nbsp;monitor\_group: "glance"  
- hosts: "{{ monitor\_group }}"  
&nbsp;&nbsp;roles:  
&nbsp;&nbsp;&nbsp;&nbsp;- { role: icinga2-check-commands, tags: ['monitor-cloud'] }

I'm not saying that this'll work as I am trying to figure out variables myself. But you could give it a try.

---

<div class="post-metadata">

**Author:** ![Alejandro\_Comisario1](https://avatars.discourse-cdn.com/v4/letter/a/ecccb3/32.png) [@Alejandro\_Comisario1](https://forum.ansible.com/u/Alejandro_Comisario1)\
**Post date:** [November 13, 2015, 4:09pm UTC](https://forum.ansible.com/t/using-a-variable-as-a-group-name-when-executing-a-task/19758/3 "2015-11-13T16:09:17Z")

</div>

Thank for the response, sorry that i didnt clarify this.  
The monitor\_cloud variable is in the [all:vars] section of the inventory.

---

<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 13, 2015, 4:12pm UTC](https://forum.ansible.com/t/using-a-variable-as-a-group-name-when-executing-a-task/19758/4 "2015-11-13T16:12:32Z")

</div>

I'm not sure I understand which variable troubles you. Is it "monitor\_group" or "monitor-cloud" or "monitor\_cloud"? Is there a  
typo (underscore / dash)?

---

<div class="post-metadata">

**Author:** ![Alejandro\_Comisario1](https://avatars.discourse-cdn.com/v4/letter/a/ecccb3/32.png) [@Alejandro\_Comisario1](https://forum.ansible.com/u/Alejandro_Comisario1)\
**Post date:** [November 13, 2015, 4:16pm UTC](https://forum.ansible.com/t/using-a-variable-as-a-group-name-when-executing-a-task/19758/5 "2015-11-13T16:16:05Z")

</div>

My problem is that i cant use a variable for the "- host: " part to realize what servers to run on.

---

<div class="post-metadata">

**Author:** ![Alejandro\_Comisario](https://avatars.discourse-cdn.com/v4/letter/a/d9b06d/32.png) [@Alejandro\_Comisario](https://forum.ansible.com/u/Alejandro_Comisario)\
**Post date:** [November 15, 2015, 4:50pm UTC](https://forum.ansible.com/t/using-a-variable-as-a-group-name-when-executing-a-task/19758/6 "2015-11-15T16:50:36Z")

</div>

anyone ?

---

<div class="post-metadata">

**Author:** ![Brian\_Coca](https://avatars.discourse-cdn.com/v4/letter/b/6de8d8/32.png) [@Brian\_Coca](https://forum.ansible.com/u/Brian_Coca)\
**Post date:** [November 15, 2015, 8:17pm UTC](https://forum.ansible.com/t/using-a-variable-as-a-group-name-when-executing-a-task/19758/7 "2015-11-15T20:17:39Z")

</div>

group\_vars/ are loaded AFTER -hosts: so you cannot use them to set the  
hosts, you can do this using extra vars though:

ansible-playbook ... play.yml ... -e 'monitor\_group=\<hostname\>'

---

<div class="post-metadata">

**Author:** ![Alejandro\_Comisario1](https://avatars.discourse-cdn.com/v4/letter/a/ecccb3/32.png) [@Alejandro\_Comisario1](https://forum.ansible.com/u/Alejandro_Comisario1)\
**Post date:** [November 15, 2015, 8:26pm UTC](https://forum.ansible.com/t/using-a-variable-as-a-group-name-when-executing-a-task/19758/8 "2015-11-15T20:26:47Z")

</div>

Genius Brian.  
thanks so much !
