【发布时间】:2015-11-27 02:55:05
【问题描述】:
我通过从我的模块中调用一个模块 (pdxcat/collectd) 来扩展它。基本模块更喜欢将 Amazon Linux OSfamily 标识为“Redhat”,但由 puppet 在 Amazon Linux OS 上安装的因子将操作系统报告为“Linux”。
我想通过在调用基本模块之前将 osfamily 的因子值从 Linux 覆盖到 Redhat 来纠正此错误。
mymodule/lib/facter 中的 osfamily.rb 是
Facter.add('osfamily') do
setcode do
case Facter.value(:operatingsystem)
when "Amazon"
"RedHat"
else
Facter.value("kernel")
end
end
end
但问题是,我无法覆盖 osfamily 值。即使从 osfamily.rb 加载事实后,osfamily 仍被报告为“Linux”而不是“Redhat”。
我的代码对于osfamilytest 或operatingsystemreleasetest 等新值正常工作,但对于osfamily 或operatingsystemrelease 等现有值则不能正常工作。
Puppet Version: 2.7.25
Facter Version: 1.6.18
Operating System:
Amazon Linux 2015.03
Puppet installation steps:
yum install puppet
【问题讨论】:
标签: linux amazon puppet overwrite facter