Fantastic !
Thanks, Gary.  I knew it had to be some bone-head boo-boo like that.

I trimmed it down further:

#Return the broadcast address of eth0
require 'facter'
Facter.add("broadcast") do
    setcode ("ipcalc -s -b #{Facter.value('ipaddress')} 
#{Facter.value('netmask')} | cut -d= -f2")
end


“Sometimes I think the surest sign that intelligent life exists elsewhere in 
the universe is that none of it has tried to contact us.”
Bill Waterson (Calvin & Hobbes)

----- Gary Larizza <[email protected]> wrote:
> On Tue, May 29, 2012 at 8:55 AM, Dan White <[email protected]> wrote:
> 
> > I'm a custom fact n00b :(
> >
> > ---broadcast.rb:
> > #Return the broadcast address of eth0
> > require 'facter'
> >
> > Facter.add("broadcast") do
> >    ipaddr = Facter.value('ipaddress')
> >    nmask = Facter.value('netmask')
> >    setcode do
> >        Facter::Util::Resolution.exec{"ipcalc -s -b #{ipaddr} #{nmask} |
> > cut -d= -f2"}
> >
> 
> Try using parenthesis instead of curly braces in
> Facter::Util::Resolution.exec ()
> 
> You could ALSO do:   setcode("ipcalc -s -b #{ipaddr} #{nmask} | cut -d=
> -f2")
> Passing a string to setcode instead of a block pipes the command to
> Facter::Util::Resolution.exec()
> 
> 
>    end
> > end
> >
> > ...and when I run puppet apply, I get:
> >
> > Could not retrieve broadcast: wrong number of arguments (0 for 1)
> >
> > Puppet 2.7.12
> > ruby 1.8.7 (patchlevel 352) [x86_64-linux]
> >

> 
> -- 
> 
> Gary Larizza
> Professional Services Engineer
> Puppet Labs

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" 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-users?hl=en.

Reply via email to