Why does Ansible change to looking for the group name in ssh config if you add a group of groups.

Hi there,

I have a simple inventory file and a ssh config entry for each host.

Inventory file:

[webservers]
hostname01

[databases]
hostname02

ssh config:

Host hostname01
HostName hostname01.domain.com
IdentityFile hostkey.key

Host hostname02
HostName hostname02.domain.com
IdentityFile hostkey.key

This all worked file then I added a group of groups to the inventory and not Ansible is searching for webservers not hostname01 in ssh config. For a single host I can easily modify the Host section of ssh config… but when that group webservers has 10 hosts in it what do I do then?

To clarify my inventory file now looks like this:

[webservers]
hostname01

[databases]
hostname02

[production]
webservers
databases

The children of a group in the inventory are assumed to be hostnames,
not other groups. This is why ssh is trying to find that groupname in
the ssh config, because it's supposed to be a host.

If you want to put a group as a child of another group you need to use
this syntax:

[productiont:children]
webservers
databases

See http://docs.ansible.com/intro_inventory.html

:slight_smile: All sorted.

Thanks you.