de3f7c7739
* fix delegated interpeter * allow returning fact if it is 'the right host' * added note for future fix/efficiency as it stands we rerun discovery for the delegated host unless its saving facts to itself * fixed test lacking delegate_to mock
47 lines
1.5 KiB
YAML
47 lines
1.5 KiB
YAML
- name: ensure they are different
|
|
hosts: localhost
|
|
tasks:
|
|
- name: dont game me
|
|
assert:
|
|
msg: 'expected different values but got ((hostvars["testhost"]["ansible_python_interpreter"]}} and {{hostvars["testhost2"]["ansible_python_interpreter"]}}'
|
|
that:
|
|
- hostvars["testhost"]["ansible_python_interpreter"] != hostvars["testhost2"]["ansible_python_interpreter"]
|
|
|
|
- name: no delegation
|
|
hosts: all
|
|
gather_facts: false
|
|
tasks:
|
|
- name: detect interpreter used by each host
|
|
detect_interpreter:
|
|
register: baseline
|
|
|
|
- name: verify it
|
|
assert:
|
|
msg: 'expected {{ansible_python_interpreter}} but got {{baseline.found|basename}}'
|
|
that:
|
|
- baseline.found|basename == ansible_python_interpreter
|
|
|
|
- name: actual test
|
|
hosts: testhost
|
|
gather_facts: false
|
|
tasks:
|
|
- name: original host
|
|
detect_interpreter:
|
|
register: found
|
|
|
|
- name: verify it orig host
|
|
assert:
|
|
msg: 'expected {{ansible_python_interpreter}} but got {{found.found|basename}}'
|
|
that:
|
|
- found.found|basename == ansible_python_interpreter
|
|
|
|
- name: delegated host
|
|
detect_interpreter:
|
|
register: found2
|
|
delegate_to: testhost2
|
|
|
|
- name: verify it delegated
|
|
assert:
|
|
msg: 'expected {{hostvars["testhost2"]["ansible_python_interpreter"]}} but got {{found2.found|basename}}'
|
|
that:
|
|
- found2.found|basename == hostvars["testhost2"]["ansible_python_interpreter"]
|