ansible/test/integration/targets/gathering_facts/test_run_once.yml
Pilou 2603604fd6 gather facts improvements (#44008)
* gather_subset is a list of strings

When gather_subset is an integer, a message pointing out the problem, current tb error 
is replaced by this one:

    ERROR! the field 'gather_subset' should be a list of (<class 'str'>,), but the item '42' is a <class 'int'>
...
* gathering_facts test: ensure smart gathering is on
2018-08-23 11:36:06 -04:00

32 lines
1.1 KiB
YAML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
- hosts: facthost1
gather_facts: no
tasks:
- name: check that smart gathering is enabled
fail:
msg: 'smart gathering must be enabled'
when: 'lookup("env", "ANSIBLE_GATHERING") != "smart"'
- name: install test local facts
copy:
src: uuid.fact
dest: /etc/ansible/facts.d/
mode: 0755
- hosts: facthost1,facthost2
gather_facts: yes
run_once: yes
tasks:
- block:
- name: 'Check the same host is used'
assert:
that: 'hostvars.facthost1.ansible_fqdn == hostvars.facthost2.ansible_fqdn'
msg: 'This test requires 2 inventory hosts referring to the same host.'
- name: "Check that run_once doesn't prevent fact gathering (#39453)"
assert:
that: 'hostvars.facthost1.ansible_local.uuid != hostvars.facthost2.ansible_local.uuid'
msg: "{{ 'Same value for ansible_local.uuid on both hosts: ' ~ hostvars.facthost1.ansible_local.uuid }}"
always:
- name: remove test local facts
file:
path: /etc/ansible/facts.d/uuid.fact
state: absent