Never fear, external facts work just fine in Puppet 3.

On Tuesday, March 28, 2017 at 10:51:52 AM UTC-4, Joshua Schaeffer wrote:
>
> External facts are a Puppet v4 feature only. You have to use Ruby to 
> create custom facts in Puppet v3.
>
> On Monday, March 27, 2017 at 3:54:00 PM UTC-6, Warron French wrote:
>>
>> OK, done, and done.  But it still isn't showing up.
>>
>> Is this potentially because I am using PE-3.8 as a component of Red Hat 
>> Satellite?
>>
>> --------------------------
>> Warron French
>>
>>
>> On Mon, Mar 27, 2017 at 5:28 PM, Peter Bukowinski <pmb...@gmail.com> 
>> wrote:
>>
>>> Hi Warron,
>>>
>>> Puppet executes the script directly, so you need the shebang line and 
>>> you must ensure the file is executable.
>>>
>>> -- Peter
>>>
>>> On Mar 27, 2017, at 2:25 PM, warron.french <warron...@gmail.com> wrote:
>>>
>>> Peter, perhaps I misunderstood you; but, I thought I was supposed to be 
>>> able to use bash or sh scripting to generate facters of my own without the 
>>> use of Ruby.
>>>
>>> The link you provided refers to a python script example.  It also adds a 
>>> shebang line at the top of the script; do I need the shebang line, or will 
>>> Puppet simply execute the shell script with:
>>>
>>> sh scriptname.sh
>>>
>>> Thanks for the feedback,
>>>
>>> --------------------------
>>> Warron French
>>>
>>>
>>> On Wed, Mar 22, 2017 at 7:07 PM, Peter Bukowinski <pmb...@gmail.com> 
>>> wrote:
>>>
>>>> Hi Warron,
>>>>
>>>> I'd consider using an external, executable fact to avoid ruby 
>>>> altogether.
>>>>
>>>>   
>>>> https://docs.puppet.com/facter/3.6/custom_facts.html#executable-facts-----unix
>>>>
>>>> Basically, you can write a bash script (or use any language you want),
>>>> drop it into '<MODULEPATH>/<MODULE>/facts.d/' on your puppet server,
>>>> and it will be synced to all your nodes (assuming you use pluginsync).
>>>>
>>>> The only requirement for executable fact scripts is that they must
>>>> return key/value pairs in the format 'key=value'. Multiple keys/values
>>>> get their own line. In your case, you could do something like this:
>>>>
>>>> -----
>>>> #!/bin/bash
>>>>
>>>> key="qty_monitors_total"
>>>> value=$(your parsing command for /var/log/Xorg.0.log here)
>>>>
>>>> echo "${key}=${value}"
>>>> -----
>>>>
>>>> Save the file as an executable script in the above mentioned path and
>>>> it should be available on the next puppet run.
>>>>
>>>> On Wed, Mar 22, 2017 at 3:24 PM, warron.french <warron...@gmail.com> 
>>>> wrote:
>>>> > Hello, I have finally learned how to write a Custom Fact; and 
>>>> duplicated the
>>>> > syntax several times over inside the same .rb file.
>>>> >
>>>> > I am using syntax that looks like the following:
>>>> >
>>>> > Facter.add('qty_monitors_total') do
>>>> >       setcode  do
>>>> >              Facter::Util::Resolution.exec('/bin/grep " connected"
>>>> > /var/log/Xorg.0.log | cut -d\) -f2,3,4 | grep GPU |sort -u | wc -l')
>>>> >       end
>>>> > end
>>>> >
>>>> > I don't know of any other way to do this yet; but that's not my 
>>>> concern yet.
>>>> >
>>>> > What I would like to know is how can I use an awk command within the
>>>> > Facter::Util::Resolution.exec('.........') line.
>>>> >
>>>> > I have a need to essentially reproduce the line above but drop   wc 
>>>> -l and
>>>> > add awk '{ print $2"_"$3"_on_"$1$4 }'
>>>> >
>>>> > I need the awk command to pretty much look like this; the problem is 
>>>> awk
>>>> > uses its own single quotes (') and it will break the ruby code.
>>>> >
>>>> > I am not a ruby developer; so if someone could either tell me:
>>>> >
>>>> > It's just not possible; or
>>>> > do it this way
>>>> >
>>>> >
>>>> > That would be greatly appreciated.  Thank you,
>>>> >
>>>> > --------------------------
>>>> > Warron French
>>>> >
>>>> > --
>>>> > You received this message because you are subscribed to the Google 
>>>> Groups
>>>> > "Puppet Users" group.
>>>> > To unsubscribe from this group and stop receiving emails from it, 
>>>> send an
>>>> > email to puppet-users...@googlegroups.com.
>>>> > To view this discussion on the web visit
>>>> > 
>>>> https://groups.google.com/d/msgid/puppet-users/CAJdJdQmZXQAd%2Bo%2Bnp-NHqxGHnXubf%2Bac-dP5FPoy4QYMEVuBuA%40mail.gmail.com
>>>> .
>>>> > For more options, visit https://groups.google.com/d/optout.
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "Puppet Users" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to puppet-users...@googlegroups.com.
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/puppet-users/CAJA1CN9aFH4Eza-FoxzrfXDWiGCUHXE%2BGFt2Nu%3DjK2eDzV4upg%40mail.gmail.com
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Puppet Users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to puppet-users...@googlegroups.com.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/puppet-users/CAJdJdQnAbguKzz0S2O_NJfp2nzjeev77Ld7PHBEAOBH8_CZPsw%40mail.gmail.com
>>>  
>>> <https://groups.google.com/d/msgid/puppet-users/CAJdJdQnAbguKzz0S2O_NJfp2nzjeev77Ld7PHBEAOBH8_CZPsw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Puppet Users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to puppet-users...@googlegroups.com.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/puppet-users/F53C3C7F-916F-4DB1-896F-8FF0F7F54BD6%40gmail.com
>>>  
>>> <https://groups.google.com/d/msgid/puppet-users/F53C3C7F-916F-4DB1-896F-8FF0F7F54BD6%40gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/d27098e0-e64b-46c5-a937-afde7e7955a6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to