On Feb 4, 2009, at 8:26 AM, Ben Hughes wrote:

>
> Hi all.
>
> I've got this fact, trying to use it with the munin module from DavidS
> to work out which drives to graph. Fairly run of the mill, but when  
> ever
> I add this in to my facter folder. Puppet barfs with a Timeout::Error
>
> [r...@foo-vm:~]# invoke-rc.d puppet start
> Starting puppet configuration management tool
> info: Loading fact whatraid
> info: Loading fact localdisks
> /usr/lib/ruby/1.8/timeout.rb:60: execution expired (Timeout::Error)
>       from /var/lib/puppet/lib/facter/localdisks.rb:20:in `open'
>       from /var/lib/puppet/lib/facter/localdisks.rb:20
>       from /usr/lib/ruby/1.8/facter/util/fact.rb:38:in `instance_eval'
>       from /usr/lib/ruby/1.8/facter/util/fact.rb:38:in `add'
>
>
> The fact (yeah it's ugly...):
>
> Facter.add("localdisks") do
>
>       disks = [ ]
>       File.open( "/proc/mounts" , "r" ) do |f|
>               f.each do |line|
>                       foo = line.chomp!.split("\s")
>                       matchey = foo[0].match(/^\/dev\/([a-z0-9\/]+)[0-9]/)
>                       disks.push(matchey[1]) unless matchey.nil?
>               end
>       end
>
>       setcode do
>               disks.uniq.join(',')
>       end
> end
>
> However, from the command line with facter, it works:
> [r...@foo-vm:~]# FACTERLIB=/var/lib/puppet/lib/facter/ facter   
> localdisks
> sda
>
>
> So I'm a little confused. What have I done painfully wrong? ):

Maybe something about a difference in environment making /proc/mounts  
not work?

The code certainly looks right to me, although I'll note that your  
fact value won't update in the same process -- I'd put all of that  
code inside the setcode block.

-- 
Love is a snowmobile racing across the tundra and then suddenly it
flips over, pinning you underneath. At night, the ice weasels come.
     --Matt Groening
---------------------------------------------------------------------
Luke Kanies | http://reductivelabs.com | http://madstop.com


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to