I have the exact same need; I want to target a single host, for which I provide a label to the play as an extra-args. I do not need to pull the whole list of hosts in my inventory. It takes too much time and is unnecessary. Just having my inventory script called with the host label is enough to return the needed data (including the IP address in my case).
Was there a solution since 2015? Le mercredi 12 août 2015 à 07:31:18 UTC-4, [email protected] a écrit : > > In option #1, when --host is call you only return that one host and > it's host variables, if any. > > So - I'm logging how my dynamic inventory script is called. When I run the > following: ansible-playbook -i dynamic_inventory/get_hosts test.yaml -e > "group=mygroup" > > get_hosts is first called with --list > > I tried putting some vars in the list output under _meta.hostvars. I was > wondering if that would stop Ansible querying get_hosts with --host for > every single group. However it stops it calling --host for *any* group so > I'm back to outputting all vars for all groups. > > I can't seem to find a way to only need to generate vars for a single > group (or host). > > One thought - I'm currently using a separate group for each host as that > seemed to simplest way to do handle my particular requirements (I'm only > ever running a playbook against a single host). You can see above I'm > conflating 'host' and 'group' somewhat. > > Is this part of the problem or is that unrelated? > > > Is this part of the problem or is that unrelated? > > On Wednesday, 12 August 2015 00:38:33 UTC+1, Timothy Appnel wrote: >> >> Yes you have. In option #1, when --host is call you only return that one >> host and it's host variables, if any. (You said a single group.) You don't >> return any groups or group variables. >> >> The dynamic inventory plugin API is a coarse-grained one that slurps in >> everything it can get from the inventory source. There are many reasons for >> that such as tasks that reference other host resources not targeted by the >> play. >> >> >> [image: photo] >> Timothy Appnel >> Senior Solutions Architect >> >> Ansible, Inc. *•* www.ansible.com >> >> On Tue, Aug 11, 2015 at 12:21 PM, Andy Baker <[email protected]> wrote: >> >>> This passage: >>> http://docs.ansible.com/ansible/developing_inventory.html#tuning-the-external-inventory-script >>> >>> seems to say you have two options: >>> >>> 1. Return a list of groups when called with --list and then return all >>> the vars for a single group when called with --host >>> 2. Return all groups and all vars in one go when called with --list (the >>> 'tuned' version) >>> >>> However in both cases you're forced to generate all groups and all vars. >>> >>> If I'm running a command on a single host or group - I rather expected >>> there would be a way to avoid generating the vars for all the groups or >>> hosts that I have no intention of connecting to. >>> >>> Have I misunderstood something? >>> >>> -- >>> 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 [email protected]. >>> To post to this group, send email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/ansible-project/99d61d16-f33d-453d-a23c-4663befaa9c5%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/ansible-project/99d61d16-f33d-453d-a23c-4663befaa9c5%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/225ae1a2-8e90-4b2b-aac7-9b35dd136655n%40googlegroups.com.
