无法从puppet查找hiera-file的值

我正在升级一个旧的木偶2.7安装到木偶3.8,我也一直在洗牌hiera的一些数据的位置。 我不确定这里有什么责任。

puppet agent --test ,运行在同一个系统运行puppetserver是给我一个错误:

 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 

这个特定的hiera密钥来自一个文件,通过hiera-file后端。

引用的puppetconfiguration行在一个文件资源中指定:

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

但是,我可以成功运行以下内容:

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

所以,我认为所有的数据都在正确的位置,但puppetserver是由于某种原因没有按预期使用hiera-file,尽pipe它在/etc/puppet/hiera.yaml中configuration

任何人都可以提出这里发生了什么?

嗯。 那很快。 我自己想清楚了。 傀儡服务器保持自己的一套gem,所以我不得不这样做:

 puppetserver gem install hiera-file service puppetserver restart