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/order/order.yml

40 lines
1.2 KiB
YAML

- name: just plain order
hosts: all
gather_facts: false
order: '{{ myorder | default("inventory") }}'
tasks:
- shell: "echo '{{ inventory_hostname }}' >> hostlist.txt"
- name: with serial
hosts: all
gather_facts: false
serial: 1
order: '{{ myorder | default("inventory")}}'
tasks:
- shell: "echo '{{ inventory_hostname }}' >> shostlist.txt"
- name: ensure everything works
hosts: localhost
gather_facts: false
tasks:
- assert:
that:
- item.1 == hostlist[item.0]
- item.1 == shostlist[item.0]
loop: '{{ lookup("indexed_items", inputlist) }}'
vars:
hostlist: '{{ lookup("file", "hostlist.txt").splitlines() }}'
shostlist: '{{ lookup("file", "shostlist.txt").splitlines() }}'
when: myorder | default('inventory') != 'shuffle'
- name: Assert that shuffle worked
assert:
that:
- item.1 != hostlist[item.0] or item.1 in hostlist
- item.1 != hostlist[item.0] or item.1 in hostlist
loop: '{{ lookup("indexed_items", inputlist) }}'
vars:
hostlist: '{{ lookup("file", "hostlist.txt").splitlines() }}'
shostlist: '{{ lookup("file", "shostlist.txt").splitlines() }}'
when: myorder | default('inventory') == 'shuffle'