Oh wow! That cool! Thanks for the different method Peter! -------------------------- 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/CAJdJdQ%3D60gM79ib694P9sNJJF4NbXy_4ZgwwwxXGvnTgS9PSPw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
