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/sanity/code-smell
James Cammarata a2599cab79 Fix variable precedence of INI/script vars to be in-line with docs.
This commit also adds a new test script (ansible-var-precedence-check.py in code-smell/)
to provide us with another line of defense against precedence bugs going forward.

The precedence docs state that the INI vars have a lower precedence than group/host
vars files for inventory and playbooks, however that has not been the case since 2.0
was released. This change fixes that in one way, though not exactly as the docs say.
The rules are:

1) INI/script < inventory dir < playbook dir
2) "all" group vars < other group_vars < host_vars

So the new order will be (from the test script mentioned above):

8. pb_host_vars_file - var in playbook/host_vars/host
9. ini_host_vars_file - var in inventory/host_vars/host
10. ini_host - host var inside the ini
11. pb_group_vars_file_child - var in playbook/group_vars/child
12. ini_group_vars_file_child - var in inventory/group_vars/child
13. pb_group_vars_file_parent - var in playbook/group_vars/parent
14. ini_group_vars_file_parent - var in inventory/group_vars/parent
15. pb_group_vars_file_all - var in playbook/group_vars/all
16. ini_group_vars_file_all - var in inventory/group_vars/all
17. ini_child - child group var inside the ini
18. ini_parent - parent group var inside the ini
19. ini_all - all group var inside the ini

Fixes #21845
8 years ago
..
ansible-var-precedence-check.py Fix variable precedence of INI/script vars to be in-line with docs. 8 years ago
boilerplate.sh Move ssh and local connection plugins from using raw select to selectors 8 years ago
configure-remoting-ps1.sh Add test for `ConfigureRemotingForAnsible.ps1`. 8 years ago
empty-init.sh Add empty-init code-smell script. (#18406) 8 years ago
inappropriately-private.sh Cleanup and fixes for code smell scripts. 8 years ago
integration-aliases.py Test placement (#21801) 8 years ago
line-endings.sh Clean up code-smell sanity scripts. (#18407) 8 years ago
no-basestring.sh Fix tests after repo merge. 8 years ago
no-dict-iteritems.sh Code smell test for iteritems and itervalues (#19292) 8 years ago
no-dict-itervalues.sh Code smell test for iteritems and itervalues (#19292) 8 years ago
no-iterkeys.sh Overhaul `ansible-test sanity` implementation. (#22177) 8 years ago
pylint-ansible-test.sh Consider module_utils deps when running tests. (#21382) 8 years ago
replace-urlopen.sh Clean up code-smell sanity scripts. (#18407) 8 years ago
required-and-default-attributes.sh Test reorganization and cleanup. (#18270) 8 years ago
shebang.sh Combine jimi-c and bcoca's ideas and work on hooking module-utils into PluginLoader. 8 years ago
skip.txt Initial ansible-test implementation. (#18556) 8 years ago
test-constraints.sh Correct test constraints and add sanity check. 8 years ago
use-compat-six.sh Fix tests after repo merge. 8 years ago