Skip to content

Ansible variable conventions and overriding defaults

John Jarvis edited this page Aug 28, 2013 · 3 revisions

Variable Precedence (version 1.2)

  1. Variables defined in the play under vars_files
vars_files:
  - "/path/to/var/file"
  1. Variables defined in /vars/main.yml
  2. Variables passed in on the command line
ansible-playbook ... -e "test_var=foo"
  1. Variables defined in the play under vars
vars:
  test_var: foo
  1. Variables defined in group_vars/

edX Variable conventions

Role variables

Default variables for roles should all be defined in <role>/vars/main.yml file associated with the role. This is currently not the lowest priority definition, in fact it's the number (2) in precedence. Ansible 1.3 will be introducing new role default vars which will allow us to