我看到以下错误...
Error: Evaluation Error: Unknown variable: 'osfamily'. (file: /etc/puppetlabs/code/environments/production/manifests/print_text.pp, line: 1, column: 4) on node mgmtserver.mydomain.com
...当尝试在 Puppet 服务器上运行清单时...
puppet apply /etc/puppetlabs/code/environments/production/manifests/print_text.pp
清单是:
if $osfamily == 'RedHat' {
notice("A test message")
}
以下返回结果...
puppet facts osfamily
{
"osfamily": "RedHat"
}
...如下:
facter osfamily
RedHat
Puppet 服务器是:
puppetserver.service(master)正在主机上运行,但 puppet.service(agent)没有运行。
有什么建议吗?
如果您试图解决一个事实,那么您需要访问该事实的值。语法
$osfamily
将尝试解析分配给变量 osfamily
的值,该值在您的可访问范围内未定义。这可以通过以下语法来完成:
if $facts['os']['family'] == 'RedHat' {
notice("A test message")
}
请注意,文档也包含此示例。