blob: 33220da302a574299ca81c3b531e31951e166f2b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
require 'facter'
def dhcp_enabled?(ifs, recurse=true)
dhcp = false
included_ifs = []
if FileTest.exists?(ifs)
File.open(ifs) do |file|
dhcp = file.enum_for(:each_line).any? do |line|
if recurse && line =~ /^\s*source\s+([^\s]+)/
included_ifs += Dir.glob($1)
end
line =~ /inet\s+dhcp/
end
end
end
dhcp || included_ifs.any? { |ifs| dhcp_enabled?(ifs, false) }
end
Facter.add(:dhcp_enabled) do
confine :osfamily => 'Debian'
setcode do
dhcp_enabled?('/etc/network/interfaces')
end
end
|