1. Your hierarchy isn't. You can call it common, global, default, or
whatever else but you only get one and it goes at the bottom. If it's
not at the bottom, it's not common, default or global. Clientcert goes
at the top because it's the most specific.
:hierarchy:
- "%{clientcert}"
- "%{environment}"
- common
https://ask.puppetlabs.com/question/3146/how-to-build-a-proper-hiera-hierarchy/
2. You're using a hash as your data. If you want to query for key
ldap::rootpw, it'll look like the following.
ldap::rootdn: 'cn=admin,dc=wl,dc=com'
ldap::rootpw: 'mySuperSecretPassword'
ldap::dn: 'dc=wl,dc=com'
ldap::directory: '/var/lib/ldap'
Note this has nothing to do with hiera_hash or hiera_array.
http://ask.puppetlabs.com/question/13592/when-to-use-hiera-hiera_array-and-hiera_hash/
3. You're not using hiera-eyaml. Don't put clear txt passwords in your
yaml files, use hiera-eyaml instead. It's really nice.
https://github.com/TomPoulton/hiera-eyaml
Ramin