summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/gathering_facts/test_run_once.yml
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/gathering_facts/test_run_once.yml')
-rw-r--r--test/integration/targets/gathering_facts/test_run_once.yml32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/integration/targets/gathering_facts/test_run_once.yml b/test/integration/targets/gathering_facts/test_run_once.yml
new file mode 100644
index 0000000..37023b2
--- /dev/null
+++ b/test/integration/targets/gathering_facts/test_run_once.yml
@@ -0,0 +1,32 @@
+---
+- 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