--- - hosts: testhost vars: - ansible_hostname: "BAD!" - vars_var: "vars_var" - param_var: "BAD!" - vars_files_var: "BAD!" - extra_var_override_once_removed: "{{ extra_var_override }}" - from_inventory_once_removed: "{{ inven_var | default('BAD!') }}" vars_files: - vars/test_var_precedence.yml roles: - { role: test_var_precedence, param_var: "param_var" } tasks: - name: register a result command: echo 'BAD!' register: registered_var - name: use set_fact to override the registered_var set_fact: registered_var="this is from set_fact" - debug: var=extra_var - debug: var=extra_var_override_once_removed - debug: var=vars_var - debug: var=vars_files_var - debug: var=vars_files_var_role - debug: var=registered_var - debug: var=from_inventory_once_removed - assert: that: item with_items: - 'extra_var == "extra_var"' - 'extra_var_override == "extra_var_override"' - 'extra_var_override_once_removed == "extra_var_override"' - 'vars_var == "vars_var"' - 'vars_files_var == "vars_files_var"' - 'vars_files_var_role == "vars_files_var_role3"' - 'registered_var == "this is from set_fact"' - 'from_inventory_once_removed == "inventory_var"' - hosts: inven_overridehosts vars_files: - "test_var_precedence.yml" roles: - role: test_var_precedence_inven_override foo: bar