summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/meta_tasks/refresh_preserve_dynamic.yml
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/meta_tasks/refresh_preserve_dynamic.yml')
-rw-r--r--test/integration/targets/meta_tasks/refresh_preserve_dynamic.yml69
1 files changed, 69 insertions, 0 deletions
diff --git a/test/integration/targets/meta_tasks/refresh_preserve_dynamic.yml b/test/integration/targets/meta_tasks/refresh_preserve_dynamic.yml
new file mode 100644
index 0000000..7766a38
--- /dev/null
+++ b/test/integration/targets/meta_tasks/refresh_preserve_dynamic.yml
@@ -0,0 +1,69 @@
+- hosts: all
+ gather_facts: false
+ tasks:
+ - name: check initial state
+ assert:
+ that:
+ - "'one' in ansible_play_hosts"
+ - "'two' in ansible_play_hosts"
+ - "'three' in ansible_play_hosts"
+ - "'four' not in ansible_play_hosts"
+ run_once: true
+
+ - name: add a host
+ add_host:
+ name: yolo
+ parity: null
+
+ - name: group em
+ group_by:
+ key: '{{parity}}'
+
+- hosts: all
+ gather_facts: false
+ tasks:
+ - name: test and ensure we restore symlink
+ run_once: true
+ block:
+ - name: check added host state
+ assert:
+ that:
+ - "'yolo' in ansible_play_hosts"
+ - "'even' in groups"
+ - "'odd' in groups"
+ - "'two' in groups['even']"
+ - "'three' in groups['odd']"
+
+ - name: change symlink
+ file: src=./inventory_new.yml dest=./inventory_refresh.yml state=link force=yes follow=false
+ delegate_to: localhost
+
+ - name: refresh the inventory to new source
+ meta: refresh_inventory
+
+ always:
+ - name: revert symlink, invenotry was already reread or failed
+ file: src=./inventory_old.yml dest=./inventory_refresh.yml state=link force=yes follow=false
+ delegate_to: localhost
+
+- hosts: all
+ gather_facts: false
+ tasks:
+ - name: check refreshed state
+ assert:
+ that:
+ - "'one' not in ansible_play_hosts"
+ - "'two' in ansible_play_hosts"
+ - "'three' in ansible_play_hosts"
+ - "'four' in ansible_play_hosts"
+ run_once: true
+
+ - name: check added host state
+ assert:
+ that:
+ - "'yolo' in ansible_play_hosts"
+ - "'even' in groups"
+ - "'odd' in groups"
+ - "'two' in groups['even']"
+ - "'three' in groups['odd']"
+ run_once: true