--- - 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