【问题标题】:External custom fact not working on Puppet外部自定义事实不适用于 Puppet
【发布时间】:2017-10-11 23:52:31
【问题描述】:

我正在运行 Facter 3.6 并尝试添加自定义事实。根据documentation,文件夹/etc/puppetlabs/facter/fact.d/ 自动用于自定义事实。

我将以下模板作为hello.rb 放入所述文件夹中:

Facter.add(:hello) do
  setcode do
    "Hello, world"
  end
end

然后,我使用puppet agent -t 强制在我的一个代理上运行木偶。

当我查看 PuppetDb 时,我没有看到我的新自定义事实 hello。我是否错过了添加外部自定义事实的步骤?

【问题讨论】:

    标签: puppet facter


    【解决方案1】:

    /etc/puppetlabs/facter/fact.d/ 是客户端节点上自定义事实的位置。如果您希望自定义事实仅出现在该客户端上,则可以将自定义事实添加到该位置。 Pluginsync 还会自动将当前目录的自定义事实传输到该位置。

    因此,分发自定义事实的首选方法是将它们放在相应模块的lib/facter 目录中。然后,它们将分发到在其目录环境的任何模块路径中应用了该模块的目录的所有节点。

    请注意此处的特定文档:https://docs.puppet.com/facter/latest/custom_facts.html#using-the-ruby-load-path

    另请注意,您正在执行自定义事实而不是外部事实。如果你在做一个外部事实,那么它最好位于相应模块的facts.d 目录中:https://docs.puppet.com/facter/latest/custom_facts.html#fact-locations

    【讨论】:

      猜你喜欢
      • 2018-12-03
      • 2013-10-08
      • 2021-06-04
      • 1970-01-01
      • 2021-12-17
      • 1970-01-01
      • 1970-01-01
      • 2015-07-17
      • 2014-07-29
      相关资源
      最近更新 更多