How can I quickly and easily state that a null / blank value is OK on a fact within puppet?
When assembling a custom fact I'm doing something like the following:
/puppet/production/modules/hosts/lib/facter
Facter.add(:hostslocal) do
setcode do
Facter::Util::Resolution.exec("cat /etc/hosts.local 2> /dev/null")
end
end
This works perfectly except if the file doesn't exist, in which case it will blow up with something like the following when used in Puppet.
Detail: Could not find value for 'hostslocal'
I've been able to work around it with something akin to 'if file not exists write a line that contains only a comment' but that seems kludgy.