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