Hi Craig, Thanks for your reply. I understand your concern about using ruby code instead of shell but my question how can i deploy this custom fact. The code has no error if i copy this fact into /usr/lib/ruby/1.8/facter and then run facter curtime it returns the output.
The only thing is how can deploy this fact to all the clients? On Jun 30, 4:52 am, Craig White <craig.wh...@ttiltd.com> wrote: > On Jun 29, 2011, at 1:16 AM, brijesh wrote: > > > > > Hi > > > I have been having issue with deploying my custom facts. I have gone > > through wiki on puppet labs and few other blogs but has no luck so > > far. May be i am not understanding puppet very well. I would really > > appreciate if someone helps me with this. I have the following fact i > > want to deploy. > > > Facter.add("curtime") do > > setcode do > > %x{ foo=`date +%k` ; if [ "$foo" -ge 00 -o "$foo" -le 06 ] ; then > > echo "true"; fi } > > end > > end > > > I have created following directory structure > > > /etc/puppet/modules/common > > /etc/puppet/modules/common/lib/facter/curtime.rb > > /etc/puppet/modules/common/files > > /etc/puppet/modules/common/manifests/init.pp <- this file is empty > > > on the puppet server i added the following to the /etc/puppet/ > > puppet.conf > > > pluginsync = true > > modulepath = /etc/puppet/modules > > factpath = $vardir/facts > > > on the client i have added > > factsync = true to the puppet.conf > > > When i run puppetd on client i can't see the new fact curtime also on > > the server i should be able to see the curtime fact under /var/lib/ > > puppet/facts. > > > I am running puppetmasterd and client - 0.25.4 > > > Any help would be appreciated. > > ---- > If your custom fact has any errors, the fact will never work. You don't have > to go searching for 'facts' - on any particular machine you should be able to > just run from cli... > > facter (NAME OF FACT) - i.e. facter curtime > > I also neglected to mention that there really is no reason whatsoever to > resort to shell just to do date things because ruby has a very rich 'Date' > class built-in. > > irb(main):001:0> require 'date' > => true > irb(main):002:0> d = Date.today > => #<Date: 4911483/2,0,2299161> > irb(main):003:0> y = d.wday > => 3 > > irb(main):001:0> require 'date' > => true > irb(main):002:0> d = Date.today > => #<Date: 4911483/2,0,2299161> > irb(main):003:0> y = d + 3 > => #<Date: 4911489/2,0,2299161> > irb(main):004:0> z = y.strftime("%m-%d-%Y") > => "07-02-2011" > > Craig -- 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.