I have the following hiera.yaml file:
---
:backends:
- yaml
- file
:hierarchy:
- defaults
- "%{clientcert}"
* -
"%{::domain}/%{::environment}/%{::osfamily}/%{::lsbdistcodename}"*
- global
:yaml:
:datadir: /etc/puppet/data
and the following in /etc/puppet/data:
*loc.example.com/production/Debian/wheezy.yaml*
The domain fact returns loc.example.com, the osfamily fact returns Debian
and the lsbdistcodename returns wheezy.
When I run
puppet apply --environment=production -e '$test =
hiera('ssh_service_config') notify { $test: }'
I get the ssh_service_config variable from the
/etc/puppet/data/loc.example.com/production/Debian/wheezy.yaml file, which
in my mind means that the correct file was chosen based on the 3 facts
(environment. osfamily and lsbdistcodename), which is what I want.
However if I run:
$ puppet agent -tv --environment=production
Info: Retrieving plugin
Error: Could not retrieve catalog from remote server: Error 400 on SERVER:
Could not find data item ssh_package_name in any Hiera data file and no
default supplied at
/srv/puppet/environments/production/modules/ssh/manifests/install.pp:2 on
node puppetmaster.iad3.example.com
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
Or:
$ hiera -d ssh_service_config environment=production osfamily=Debian
lsbdistcodename=wheezy
DEBUG: 2014-01-06 19:18:08 +0000: Hiera YAML backend starting
DEBUG: 2014-01-06 19:18:08 +0000: Looking up ssh_service_config in YAML
backend
DEBUG: 2014-01-06 19:18:08 +0000: Looking for data source defaults
DEBUG: 2014-01-06 19:18:08 +0000: Looking for data source global
DEBUG: 2014-01-06 19:18:08 +0000: Hiera File backend starting
DEBUG: 2014-01-06 19:18:08 +0000: Looking up ssh_service_config in File
backend
DEBUG: 2014-01-06 19:18:08 +0000: Hiera File_backend: looking for data
source 'defaults'
DEBUG: 2014-01-06 19:18:08 +0000: Cannot find datafile
/var/lib/hiera/defaults.d, skipping
DEBUG: 2014-01-06 19:18:08 +0000: Hiera File_backend: looking for data
source 'global'
DEBUG: 2014-01-06 19:18:08 +0000: Cannot find datafile
/var/lib/hiera/global.d, skipping
nil
Any idea what is going on? I would like to have a simple hierarchy like the
one in the hiera.yaml file, based on the three facts.
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to puppet-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/f139fb4c-92f2-4616-a522-6bd69ecfd9fb%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.