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 <[email protected]> 
>> 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 <[email protected]> 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 <[email protected]> 
>>> 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 <[email protected]> 
>>>> 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 [email protected].
>>>> > 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 [email protected].
>>>> 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 [email protected].
>>> 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 [email protected].
>>> 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 [email protected].
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