I'm in the process of upgrading an old puppet 2.7 installation to puppet 3.8, and I've also been shuffling the location of some of hiera's data. I'm not sure which is to blame here.

puppet agent --test, run on the same system running the puppetserver is giving me an error:

Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find data item nagios::htpasswd.users in any Hiera data file and no default supplied at /etc/puppet/modules/nagios/manifests/master.pp:77 on node xxx.example.com

This particular hiera key comes from a file via the hiera-file back-end.

The cited puppet config line is in a file resource which specifies:

content => hiera('nagios::htpasswd.users')

However, I can run the following successfully:

puppet apply -e 'notice hiera("nagios::htpasswd.users")'

So, I'm thinking that all the data is in the right place, but that the puppetserver is for some reason not using hiera-file as expected, despite it being configured in /etc/puppet/hiera.yaml

Can anyone suggest what is going on here?


Hmm. Well that was quick. I figured it out myself. puppetserver keeps its own set of gems, so I had to do:

puppetserver gem install hiera-file
service puppetserver restart
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.