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/gathering_facts/test_module_defaults.yml

131 lines
3.2 KiB
YAML

---
- hosts: localhost
# The gather_facts keyword has default values for its
# options so module_defaults doesn't have much affect.
gather_facts: no
tags:
- default_fact_module
tasks:
- name: set defaults for the action plugin
gather_facts:
module_defaults:
gather_facts:
gather_subset: min
- assert:
that: "gather_subset == ['min']"
- name: set defaults for the module
gather_facts:
module_defaults:
setup:
gather_subset: '!all'
- assert:
that: "gather_subset == ['!all']"
# Defaults for the action plugin win because they are
# loaded first and options need to be omitted for
# defaults to be used.
- name: set defaults for the action plugin and module
gather_facts:
module_defaults:
setup:
gather_subset: '!all'
gather_facts:
gather_subset: min
- assert:
that: "gather_subset == ['min']"
# The gather_facts 'smart' facts module is 'ansible.legacy.setup' by default.
# If 'setup' (the unqualified name) is explicitly requested, FQCN module_defaults
# would not apply.
- name: set defaults for the fqcn module
gather_facts:
module_defaults:
ansible.legacy.setup:
gather_subset: '!all'
- assert:
that: "gather_subset == ['!all']"
- hosts: localhost
gather_facts: no
tags:
- custom_fact_module
tasks:
- name: set defaults for the module
gather_facts:
module_defaults:
ansible.legacy.setup:
gather_subset: '!all'
- assert:
that:
- "gather_subset == ['!all']"
# Defaults for the action plugin win.
- name: set defaults for the action plugin and module
gather_facts:
module_defaults:
gather_facts:
gather_subset: min
ansible.legacy.setup:
gather_subset: '!all'
- assert:
that:
- "gather_subset == ['min']"
- hosts: localhost
gather_facts: no
tags:
- networking
tasks:
- name: test that task args aren't used for fqcn network facts
gather_facts:
gather_subset: min
vars:
ansible_network_os: 'cisco.ios.ios'
register: result
- assert:
that:
- "ansible_facts.gather_subset == '!config'"
- name: test that module_defaults are used for fqcn network facts
gather_facts:
vars:
ansible_network_os: 'cisco.ios.ios'
module_defaults:
'cisco.ios.ios_facts': {'gather_subset': 'min'}
register: result
- assert:
that:
- "ansible_facts.gather_subset == 'min'"
- name: test that task args aren't used for legacy network facts
gather_facts:
gather_subset: min
vars:
ansible_network_os: 'ios'
register: result
- assert:
that:
- "ansible_facts.gather_subset == '!config'"
- name: test that module_defaults are used for legacy network facts
gather_facts:
vars:
ansible_network_os: 'ios'
module_defaults:
'ios_facts': {'gather_subset': 'min'}
register: result
- assert:
that:
- "ansible_facts.gather_subset == 'min'"