64e1593243
* Ensure fact isn't cached when cacheable=val form is used * Don't cache fact when cacheable=val form is used
183 lines
4.7 KiB
YAML
183 lines
4.7 KiB
YAML
---
|
|
- name: the first play
|
|
hosts: localhost
|
|
tasks:
|
|
- name: show foobar fact before
|
|
debug:
|
|
var: ansible_foobar
|
|
|
|
- name: set a persistent fact foobar
|
|
set_fact:
|
|
ansible_foobar: 'foobar_from_set_fact_cacheable'
|
|
cacheable: true
|
|
|
|
- name: show foobar fact after
|
|
debug:
|
|
var: ansible_foobar
|
|
|
|
- name: assert ansible_foobar is correct value
|
|
assert:
|
|
that:
|
|
- ansible_foobar == 'foobar_from_set_fact_cacheable'
|
|
|
|
- name: set a non persistent fact that will not be cached
|
|
set_fact:
|
|
ansible_foobar_not_cached: 'this_should_not_be_cached'
|
|
|
|
- name: show ansible_foobar_not_cached fact after being set
|
|
debug:
|
|
var: ansible_foobar_not_cached
|
|
|
|
- name: assert ansible_foobar_not_cached is correct value
|
|
assert:
|
|
that:
|
|
- ansible_foobar_not_cached == 'this_should_not_be_cached'
|
|
|
|
- name: set another non persistent fact that will not be cached
|
|
set_fact: "cacheable=no fact_not_cached='this_should_not_be_cached!'"
|
|
|
|
- name: show fact_not_cached fact after being set
|
|
debug:
|
|
var: fact_not_cached
|
|
|
|
- name: assert fact_not_cached is correct value
|
|
assert:
|
|
that:
|
|
- fact_not_cached == 'this_should_not_be_cached!'
|
|
|
|
- name: the second play
|
|
hosts: localhost
|
|
tasks:
|
|
- name: show foobar fact after second play
|
|
debug:
|
|
var: ansible_foobar
|
|
|
|
- name: assert ansible_foobar is correct value
|
|
assert:
|
|
that:
|
|
- ansible_foobar == 'foobar_from_set_fact_cacheable'
|
|
|
|
- name: show ansible_nodename
|
|
hosts: localhost
|
|
tasks:
|
|
- name: show nodename fact after second play
|
|
debug:
|
|
var: ansible_nodename
|
|
|
|
- name: show ansible_nodename overridden with var
|
|
hosts: localhost
|
|
vars:
|
|
ansible_nodename: 'nodename_from_play_vars'
|
|
tasks:
|
|
- name: show nodename fact after second play
|
|
debug:
|
|
var: ansible_nodename
|
|
|
|
- name: verify ansible_nodename from vars overrides the fact
|
|
hosts: localhost
|
|
vars:
|
|
ansible_nodename: 'nodename_from_play_vars'
|
|
tasks:
|
|
- name: show nodename fact
|
|
debug:
|
|
var: ansible_nodename
|
|
|
|
- name: assert ansible_nodename is correct value
|
|
assert:
|
|
that:
|
|
- ansible_nodename == 'nodename_from_play_vars'
|
|
|
|
- name: set_fact ansible_nodename
|
|
hosts: localhost
|
|
tasks:
|
|
- name: set a persistent fact nodename
|
|
set_fact:
|
|
ansible_nodename: 'nodename_from_set_fact_cacheable'
|
|
|
|
- name: show nodename fact
|
|
debug:
|
|
var: ansible_nodename
|
|
|
|
- name: assert ansible_nodename is correct value
|
|
assert:
|
|
that:
|
|
- ansible_nodename == 'nodename_from_set_fact_cacheable'
|
|
|
|
- name: verify that set_fact ansible_nodename non_cacheable overrides ansible_nodename in vars
|
|
hosts: localhost
|
|
vars:
|
|
ansible_nodename: 'nodename_from_play_vars'
|
|
tasks:
|
|
- name: show nodename fact
|
|
debug:
|
|
var: ansible_nodename
|
|
|
|
- name: assert ansible_nodename is correct value
|
|
assert:
|
|
that:
|
|
- ansible_nodename == 'nodename_from_set_fact_cacheable'
|
|
|
|
- name: verify that set_fact_cacheable in previous play overrides ansible_nodename in vars
|
|
hosts: localhost
|
|
vars:
|
|
ansible_nodename: 'nodename_from_play_vars'
|
|
tasks:
|
|
- name: show nodename fact
|
|
debug:
|
|
var: ansible_nodename
|
|
|
|
- name: assert ansible_nodename is correct value
|
|
assert:
|
|
that:
|
|
- ansible_nodename == 'nodename_from_set_fact_cacheable'
|
|
|
|
- name: set_fact ansible_nodename cacheable
|
|
hosts: localhost
|
|
tasks:
|
|
- name: set a persistent fact nodename
|
|
set_fact:
|
|
ansible_nodename: 'nodename_from_set_fact_cacheable'
|
|
cacheable: true
|
|
|
|
- name: show nodename fact
|
|
debug:
|
|
var: ansible_nodename
|
|
|
|
- name: assert ansible_nodename is correct value
|
|
assert:
|
|
that:
|
|
- ansible_nodename == 'nodename_from_set_fact_cacheable'
|
|
|
|
|
|
- name: verify that set_fact_cacheable in previous play overrides ansible_nodename in vars
|
|
hosts: localhost
|
|
vars:
|
|
ansible_nodename: 'nodename_from_play_vars'
|
|
tasks:
|
|
- name: show nodename fact
|
|
debug:
|
|
var: ansible_nodename
|
|
|
|
- name: assert ansible_nodename is correct value
|
|
assert:
|
|
that:
|
|
- ansible_nodename == 'nodename_from_set_fact_cacheable'
|
|
|
|
- name: the fourth play
|
|
hosts: localhost
|
|
vars:
|
|
ansible_foobar: 'foobar_from_play_vars'
|
|
tasks:
|
|
- name: show example fact
|
|
debug:
|
|
var: ansible_example
|
|
|
|
- name: set a persistent fact example
|
|
set_fact:
|
|
ansible_example: 'foobar_from_set_fact_cacheable'
|
|
cacheable: true
|
|
|
|
- name: assert ansible_example is correct value
|
|
assert:
|
|
that:
|
|
- ansible_example == 'foobar_from_set_fact_cacheable'
|