Issue #1415 has been updated by Thomas Bellman.
It seems you try to read /sys before trying running /sbin/ip. While that would be nice in principle to not have to fork, note that there exists a kernel bug which causes Ruby to hang doing so. (Since Ruby doesn't do real threading, it uses select() [or maybe poll() or something], but the kernel will never signal that files under /sys and /proc are ready to be readable. New enough Linux kernels have that fixed, but I don't offhand know how new.) ---------------------------------------- Bug #1415: MAC addresses are truncated for Infiniband https://projects.puppetlabs.com/issues/1415#change-71341 Author: Thomas Bellman Status: Investigating Priority: Normal Assignee: Category: library Target version: Keywords: infiniband interface Branch: Affected Facter version: Facter (as of versions 1.3.8 and 1.5.0) assumes that MAC addresses are always six octets. That is not always the case, for example if you have Infiniband interfaces: <pre> # ifconfig ib0 ib0 Link encap:InfiniBand HWaddr 80:00:00:48:FE:80:00:00:00:00:00:00:00:00:00:00:00:00:00:00 BROADCAST MULTICAST MTU:2044 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:256 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) </pre> Facter truncates that address to six octets: <pre> # pwd /root/facter-1.5.0 # RUBYLIB=lib bin/facter | grep macaddress_ib0 macaddress_ib0 => 80:00:00:48:FE:80 </pre> The problem lies in the regexp parsing the output from ifconfig, in lib/facter/macaddress.rb and in lib/facter/util/ip.rb: <pre> /(?:ether|HWaddr) (\w{1,2}:\w{1,2}:\w{1,2}:\w{1,2}:\w{1,2}:\w{1,2})/ </pre> for Linux, and slight variations for *BSD and SunOS. It would probably be better to use <pre> /(?:ether|HWaddr) ((\w{1,2}:){5,}\w{1,2})/ </pre> for this. -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
