ansible/test/integration/targets/lookup_inventory_hostnames/main.yml
Matt Martz db98433e7a
Use InventoryManager for inventory_hostnames lookup ()
* Use InventoryManager for inventory_hostnames lookup. Fixes 

* Add test for using patterns

* s/it's/its/

* Allow bypassing parse_sources in InventoryManager

* Remove unneeded method call
2020-09-02 15:42:09 -05:00

23 lines
950 B
YAML

---
- hosts: localhost
gather_facts: no
tasks:
- set_fact:
hosts_a: "{{ lookup('inventory_hostnames', 'group01', wantlist=true) }}"
hosts_b: "{{ groups['group01'] }}"
exclude: "{{ lookup('inventory_hostnames', 'group01:!test03', wantlist=true) }}"
intersect: "{{ lookup('inventory_hostnames', 'group01:&group02', wantlist=true) }}"
nogroup: "{{ lookup('inventory_hostnames', 'nogroup01', wantlist=true) }}"
doesnotexist: "{{ lookup('inventory_hostnames', 'doesnotexist', wantlist=true) }}"
all: "{{ lookup('inventory_hostnames', 'all', wantlist=true) }}"
from_patterns: "{{ lookup('inventory_hostnames', 't?s?03', wantlist=True) }}"
- assert:
that:
- hosts_a == hosts_b
- "'test03' not in exclude"
- intersect == ['test03', 'test04']
- nogroup == ['nogroup01']
- doesnotexist == []
- all|length == 12
- from_patterns == ['test03']