我已经使用 hiera 几个星期了,直到几天前我开始收到这种消息时,一切都运行良好:
错误:无法从远程服务器检索目录:服务器上的错误 400:在任何 Hiera 数据文件中找不到数据项 nom,并且节点 d0puppetclient.victor-buck.com 上没有提供默认值
警告:不在失败的目录上使用缓存
错误:无法检索目录;跳过跑步
因此,我尝试进行一个非常简单的测试,以检查问题是否来自我上次的代码更改,并且我仍然收到此消息。我再也无法获得 hiera 变量了。在我做的测试下面:
hiera.yaml:
---
:backends:
- yaml
:yaml:
:datadir: /etc/puppet/hieradata
:hierarchy:
- common
网站.pp:
# /etc/puppet/manifests/site.pp
case $operatingsystem {
'Solaris': { include role::solaris }
'RedHat', 'CentOS': { include redhat::roles::common }
/^(Debian|Ubuntu)$/: { include role::debian }
# default: { include role::generic }
}
case $hostname {
/^d0puppetclient/: { include test }
}
测试.pp:
class test{
$nom = hiera('nom')
file {"/root/test.txt":
ensure => file,
source => "/etc/puppet/test.txt.erb",
}
}
test.txt.erb:
<%= nom %>
关于解决这个问题的任何想法?我认为这可能是文件访问权限问题,所以我尝试授予对某些文件755
的访问权限()但它不起作用......