我如何运行 hiera 独立版来测试值?

我如何运行 hiera 独立版来测试值?

据推测,我可以在 Puppet Master 上从命令行运行 hiera 来查看特定节点如何生成变量集,但很难找到这样的工作示例。

我尝试过使用 Puppet Inventory 和 mcollective,但都出现了错误:

[root@puppet001 hiera]# hiera -c /etc/puppet/hiera.yaml -i pamcontent001.mgs.example.com
Puppet inventory service lookup failed: NoMethodError: undefined method `features' for Puppet:Module
Could not load Puppet inventory service scope: SystemExit: exit

[root@puppet001 hiera]# hiera -c /etc/puppet/hiera.yaml -m pamcontent001.mgs.example.com 
MCollective lookup failed: LoadError: cannot load such file -- mcollective
Could not load MCollective scope: SystemExit: exit

搜索这些错误消息会发现一些旧错误及其修复,但没有解决办法可以让我进行测试查找。

当您获得意外值时,如何测试和调试 heira 查找?

答案1

您无法转储节点的整个 hiera 数据。如果您查看用于为 hiera 创建自定义后端的 API,您会发现没有任何东西可以返回整个数据集或键列表,而只是一种获取与特定键关联的值的方法。请记住,可以使用多种后端。

您可以查找特定键的值。例如:

hiera -c /etc/puppet/hiera.yaml \
key \
fqdn=pamcontent001.mgs.example.com \
environment=production

您需要以这种方式提供哪些范围变量取决于您在 hiera.yaml 文件中使用哪些变量。您可能会发现有用。

相关内容