You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/integration/targets/meta_tasks/refresh_preserve_dynamic.yml

70 lines
1.9 KiB
YAML

- 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