傀儡与红宝石的自定义事实

时间:2017-01-16 17:34:35

标签: ruby puppet facter

我是ruby的新手,我正试图让木偶习惯的事实发挥作用。以下是自定义事实的代码:

Facter.add("mounts") do
  confine :osfamily => "RedHat"
  setcode do
    mountlist=""
    #Facter::Core::Execution.exec('/bin/mount | /bin/cut -f3 -d" "')
    #mounts=`/bin/mount`
    mounts = Facter::Core::Execution.exec('/bin/mount')

    mounts.each_line do |line|
      fs=line.match(/^[^\s]+\s+on\s(.+) type.+/).captures
      mountlist=mountlist + fs.to_s + ","
    end
    mountlist
  end
end

代码的想法是创建一个名为mounts的自定义事实,然后可以在模块的清单中使用它。以下是清单文件中的一个节目:

if ("/tmp" in $mounts) {
  mount{'tmpfs_mnt':
    name     => "/tmp",
    options  => [ 'nodev','nosuid','noexec' ],
    ensure   => present,
    atboot   => true,
    fstype   => tmpfs,
    remounts => true,
  }
}

自定义事实似乎没有被创建。以下是尝试拉出此模块时其中一个木偶节点的输出:

  

错误:无法从远程服务器检索目录:SERVER上的错误400:'in'表达式的右操作数中的'undef'不是受支持的类型(字符串,数组或散列)

非常感谢任何有关修改自定义事实所需更正的帮助。

0 个答案:

没有答案