0

我正在阅读可以使用Facter::Core::Execution.exec. 我用下面的代码做了一个事实:

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当我像在代理上一样单独运行命令时,它会返回一个字符串。但是当我使用 PuppetDb 在我的代理上运行事实时,puppet agent -t并不包含新事实。

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

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

但是没有返回错误告诉我为什么没有保存事实。有谁知道可能导致此问题的原因?

4

0 回答 0