]> git.donarmstrong.com Git - dsa-puppet.git/blob - facts/ipaddresses.rb
gitignore files for ssl module
[dsa-puppet.git] / facts / ipaddresses.rb
1 Facter.add("v4ips") do
2         confine :kernel => :linux
3         addrs = []
4         if FileTest.exist?("/bin/ip")
5                 %x{ip addr list}.each do |line|
6                         next unless line =~ /\s+inet/
7                         next if line =~ /scope (link|host)/
8                         if line =~ /\s+inet\s+(\S+)\/\d{1,2} .*/
9                                 addrs << $1
10                         end
11                 end
12         end
13         ret = addrs.join(",")
14         if ret.empty?
15           ret = 'no'
16         end
17         setcode do
18           ret
19         end
20 end
21
22 Facter.add("v6ips") do
23         confine :kernel => :linux
24         addrs = []
25         if FileTest.exist?("/bin/ip")
26                 %x{ip addr list}.each do |line|
27                         next unless line =~ /\s+inet/
28                         next if line =~ /scope (link|host)/
29                         if line =~ /\s+inet6\s+(\S+)\/\d{1,3} .*/
30                                 addrs << $1
31                         end
32                 end
33         end
34         ret = addrs.join(",")
35         if ret.empty?
36           ret = 'no'
37         end
38         setcode do
39           ret
40         end
41 end
42