File: //var/cache/puppet/lib/facter/default_gateway.rb
# [.m] Facts: :default_gateway
# returns default gateway from ip route output
# ripped of from socratesx-virt_install module
Facter.add(:default_gateway_string) do
setcode do
if Facter::Util::Resolution.which('ip')
dgw = Facter::Util::Resolution.exec('ip route show default').
lines.
to_a.
select { |line| line.match(%r{^default}) }.
first
dgw
end
end
end
Facter.add(:default_gateway) do
confine :default_gateway_string do |value|
value.is_a?(String)
end
setcode do
gw = Facter.value(:default_gateway_string)
gw.gsub(%r{^.*\b(\d+\.\d+\.\d+\.\d+).*$}, '\1') unless gw.nil?
end
end
# vim: et ts=8 sts=2 sw=2 fdm=marker