来自自定义木偶事实的Shell命令?

时间:2017-05-12 16:57:37

标签: puppet facter

reading可以使用Facter::Core::Execution.exec从自定义事实中执行shell命令。我用以下代码做了一个事实:

Facter.add(:controller_id) do
  setcode do
    Facter::Core::Execution.exec('/usr/bin/jq -r .device._id /var/lib/mylib/system.json')
  end
end

当我在代理上像/usr/bin/jq -r .device._id /var/lib/mylib/system.json那样独立运行命令时,它会返回一个字符串。但是当我使用puppet agent -t我的代理人运行事实时,PuppetDb并不包含新事实。

我可以看到代理看到了新的事实代码,因为它告诉我我的代码已经改变了:

  

注意:   /File[/opt/puppetlabs/puppet/cache/lib/facter/controller_id.rb]/content:   内容已更改' {md5} c3567db500497e3586617bfed072ca6d'至   ' {MD5} bb617198c5612eee365b5af8d410d4bc'

但没有错误告诉我为什么事实没有得到保存。有谁知道可能导致这个问题的原因?

0 个答案:

没有答案