These answers don't make sense to me. Here's what I've got:
package_versions.yml
package_versions:
app:
oraclejre_version: jdk1.7.0_75
# roles/oraclejre/tasks/main.yml
- name: OracleJRE | Make OracleJRE {{ version }} home directory
file: path=/usr/local/java-{{ version }} state=directory
sudo: yes
# roles/oraclejre/vars/main.yml
oraclejre_versions:
jdk1.7.0_75:
download_filename: jdk-7u75-linux-x64.tar.gz
download_url: "
http://download.oracle.com/otn-pub/java/jdk/7u75-b13/jdk-7u75-linux-x64.tar.gz"
# roles/app/meta/main.yml
dependencies:
- { role: oraclejre, version: "{{
package_versions.app.oraclejre_version }}" }
and my output looks like this:
TASK: [oraclejre | OracleJRE | Make OracleJRE {{ package_versions.app.oraclejre_version }} home directory] ***
changed:
[dse02] => {"changed": true, "gid": 0, "group": "root", "mode":
"0755", "owner": "root", "path": "/usr/local/java-jdk1.7.0_75",
"secontext": "unconfined_u:object_r:usr_t:s0", "size": 4096, "state": "directory", "uid": 0}
Now
it would seem to me that if everyone's explanations were correct that
my task should have failed, because "{{ package_versions.app.oraclejre_version
}}" should not resolve properly AT ALL for the reasons that everyone
has stated. But you can see that it IS resolving properly : "path":
"/usr/local/java-
jdk1.7.0_75". So why would it resolve properly in the
file: field but not the name: field?