Puppet 无法访问 hiera 数据中的哈希值

Puppet having trouble accessing the value of hash in hiera data

这是我的 global.yaml 文件

---
puppet:
  running: 'running'
  atboot: true

当我运行"hiera --config hiera.yaml puppet"输出是

{"running"=>"running", "atboot"=>true}

这是预期的输出。

但是当我尝试通过 运行ning "hiera --config hiera.yaml puppet::running" 访问内部值时,我得到了 nil 值。 我的 hiera 版本是 3.0.6.

您误解了 puppet::running 是键名,而您似乎想要 puppet.running.

如果您的 common.yaml 文件包含:

---
puppet:
  running: running
  atboot: true

puppet::running: foo

在最新的 Puppet 5 和 6 中,您可以试试这个(记住 hiera CLI 命令已被弃用,取而代之的是 puppet 查找):

$ puppet lookup puppet
---
running: running
atboot: true

$ puppet lookup puppet::running
--- foo

$ puppet lookup puppet.running
--- running

或者,在您的 Puppet 版本中:

$ hiera puppet
{"running"=>"running", "atboot"=>true}

$ hiera puppet::running
foo

$ hiera puppet.running
running