无法从 Puppet 查找 hiera-file 值

无法从 Puppet 查找 hiera-file 值

我正在将旧的 puppet 2.7 安装升级到 puppet 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 后端的文件。

引用的 puppet 配置行位于文件资源中,其指定:

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

但是,我可以成功运行以下命令:

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

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

有人能说出这里发生了什么事吗?

答案1

嗯。那很快。我自己想通了。puppetserver 保留了自己的一套 gem,所以我必须这样做:

puppetserver gem install hiera-file
service puppetserver restart

相关内容