Dynamic inventory group as a child of managed group - group_vars unavailable

278 views
Skip to first unread message

Ran

unread,
Aug 6, 2014, 4:52:30 AM8/6/14
to ansible...@googlegroups.com
I cannot make an ec2 group (via dynamic inventory script) as a child of a managed group defined in hosts. 

For example:

1. ec2 dynamic script returns a group of "tag_worker_1"

2. hosts file consists of:

[workercommon]

[tag_worker_1:children]
workercommon

3. group_vars has a file workercommon.yml which includes variables.

-

The play's pattern references tag_worker_1 (the ec2 group).  However the variables from the "workercommon" group are not available.

However, if I invert the parent child relationship to:

[workercommon:children]
tag_worker_1

groups_vars for workercommon will be available.  This won't work for me  because I need to compose workercommon with other groups that will not include tag_worker_1.

Can dynamic inventory groups be children of managed groups (and get access to the managed groups group_vars)?


Thank you!

Michael DeHaan

unread,
Aug 6, 2014, 9:08:03 AM8/6/14
to ansible...@googlegroups.com
Please note the name of an ec2 tag group will be "ec2_tag_tagName_tagValue" not "tag_tagName_value".   This is likely the problem.

Using the inventory scripts on the development branch, the tag "ec2_tag_tagName" will also be available containing everything with that tag.

Also, mixing dynamic inventory sources and INI files (crossing the streams) is really only a thing on the development branch thanks to a recent patch from @svg.

So I'd definitely recommend trying on 1.7 devel if not already, it will release very soon.




--
You received this message because you are subscribed to the Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-proje...@googlegroups.com.
To post to this group, send email to ansible...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/8e26ec5b-9338-4a92-83a3-f23be6a2ae13%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Serge van Ginderachter

unread,
Aug 6, 2014, 9:16:50 AM8/6/14
to ansible...@googlegroups.com

On 6 August 2014 10:52, Ran <ranu...@gmail.com> wrote:
2. hosts file consists of:

[workercommon]

[tag_worker_1:children]
workercommon

3. group_vars has a file workercommon.yml which includes variables.

-

The play's pattern references tag_worker_1 (the ec2 group).  However the variables from the "workercommon" group are not available.



​This is very logic, as your ec2 hosts are not member​ of workercommon, so they don't get those variables.


[workercommon:children]
tag_worker_1

groups_vars for workercommon will be available.  This won't work for me  because I need to compose workercommon with other groups that will not include tag_worker_1.

Hard to see from here but my guess is you can remodel your groups, and have an extra group to handle those differences.


 Serge
Reply all
Reply to author
Forward
0 new messages