只测试hiera,我希望能够查看给定节点的层次结构中的所有可用数据(变量=值对)。
我的Hiera层次结构配置为:
---
:backends:
- yaml
- json
:yaml:
:datadir: C:\Puppet\hieradata
:hierarchy:
- "Env/%{::env}"
- common
我可以运行以下命令返回node1' some-common'变量:
>hiera some-common ::env=node1
data
我希望能够看到层次结构中node1可用的所有变量=值对,这可能吗? 感谢
答案 0 :(得分:7)
我担心这是不可能的。您可以做的最近的事情是转储特定节点的事实:
facter -y > node.yml
然后使用它们寻找特定的键:
hiera -y node.yml my_class:arg -d
这样您就可以根据操作系统,域等访问Hiera密钥(取决于hiera.yaml
中定义的层次结构)。
另一个选择是ssh到puppet主节点。并使用puppet lookup
(自Puppet 4以来应该可用)。 lookup
默认使用Hiera后端(再次需要hiera.yaml
配置文件)。
puppet lookup resolv_conf::nameservers --node mynode.example.net
或更详细的版本:
puppet lookup resolv_conf::nameservers --merge deep --environment production --explain --node mynode.example.net
答案 1 :(得分:0)
我找到了另一个解决方法-您可以将顶级密钥添加到您的Yaml数据:
node-data:
hosts:
- localhost:3367
- company.com
dns: 8.8.8.8
policy:
retries: 3
timeout: 5
,并为该顶级密钥进行合并查找人偶,例如:
puppet lookup --merge hash/deep node_data