diff options
| author | Rein Henrichs <rein@puppetlabs.com> | 2010-08-18 14:45:53 -0700 |
|---|---|---|
| committer | Rein Henrichs <rein@puppetlabs.com> | 2010-08-18 14:45:53 -0700 |
| commit | 104e1e14fe9c7c71510561d9f073f8c316340265 (patch) | |
| tree | f7aaf4ce00be21794bf69b38419a02cc917a9562 /lib/facter/util | |
| parent | 65a5a51a39a3cb43d54aa457450f3b0afce6dc36 (diff) | |
| parent | 4050acc291fa0d1773388f2c52d659b94249f1bd (diff) | |
| download | facter-104e1e14fe9c7c71510561d9f073f8c316340265.tar.gz facter-104e1e14fe9c7c71510561d9f073f8c316340265.tar.xz facter-104e1e14fe9c7c71510561d9f073f8c316340265.zip | |
Merge branch 'ticket/master/3703-macaddress-on-mac' into next
Diffstat (limited to 'lib/facter/util')
| -rw-r--r-- | lib/facter/util/macaddress.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/facter/util/macaddress.rb b/lib/facter/util/macaddress.rb new file mode 100644 index 0000000..fc0a043 --- /dev/null +++ b/lib/facter/util/macaddress.rb @@ -0,0 +1,28 @@ +# A module to gather macaddress facts +# +module Facter::Util::Macaddress + + module Darwin + def self.macaddress + iface = default_interface + Facter.warn "Could not find a default route. Using first non-loopback interface" if iface.empty? + + macaddress = `#{ifconfig_command} #{iface} | /usr/bin/awk '/ether/{print $2;exit}'`.chomp + macaddress.empty? ? nil : macaddress + end + + def self.default_interface + `#{netstat_command} | /usr/bin/awk '/^default/{print $6}'`.chomp + end + + private + + def self.netstat_command + '/usr/sbin/netstat -rn' + end + + def self.ifconfig_command + '/sbin/ifconfig' + end + end +end |
