mirror of https://github.com/ansible/ansible.git
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.
70 lines
1.9 KiB
YAML
70 lines
1.9 KiB
YAML
2 years ago
|
- 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
|