モジュールから呼び出してモジュール (pdxcat/collectd) を拡張しました。基本モジュールは、Amazon Linux OS ファミリを「Redhat」として識別することを好みますが、パペットによって Amazon Linux OS にインストールされたファクトは、OS を「Linux」として報告します。
ベースモジュールを呼び出す前に、osfamily の factor 値を 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 は「Redhat」ではなく「Linux」として報告されます。
私のコードは、またはのような新しい値に対しては正しく機能しますが、または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