Puppet:如何从代理加载文件 - 第3部分

时间:2017-05-08 04:27:00

标签: puppet

使用我之前查询中的函数(参见下面的参考资料),我可以从代理程序中提取文件并执行必要的任务。但是,这会影响系统上的所有用户,因为它会抛出一个异常,指出找不到该文件。无论如何我可以为这个ruby函数添加一些像unless file_exists ....这样的逻辑吗?

我的层次结构如下所示。我没有注意为什么它会影响甚至不在“mymodules”中的其他用户。

Root
  modules
     mymodules
        lib
          facter
             ruby_function1.rb
             ruby_function2.rb
     modules_by_userxx1
     modules_by_userxx2
     modules_by_userxx3
     ....

参考:
Puppet : How to load file from agent

Puppet : How to load file from agent - Part 2

根据Dominic的要求,添加参考代码:

# module_name/lib/facter/master_hash.rb
require 'json'
Facter.add(:master_hash) do
  setcode do
    # return content of foo as a string
    f = File.read('/path/to/some_file.json')
    master_hash = JSON.parse(f)
    master_hash
  end
end

0 个答案:

没有答案