On Wed, Sep 14, 2016 at 6:31 AM, 'Peter Krauspe' via Puppet Users
<[email protected]> wrote:
> Hi ,
>
> I'm using facter puppet 3.8 7 with factor 2.4.6 on CentOS 7
>
> According to puppet/facter docu it's possible to add executable custom facts
> using ruby/shell/python scripts and just *.txt files.
>
> I tried the following:
>
> <path-to-external-facts>/ruby.rb
>                                     /python.py
>                                     /shell.sh
>                                     /file.txt
>
> The contens is quite simple
> The ruby script runs an external shell command and adds a fact asigning  the
> output of the shell command
>
> The shell and python Scripts return some key=value Strings . e.g
>
> key1=val1
> key2=val2
>
> The text file just consists of the above lines
>
> I tried for example
>
> export FACTERLIB=<path-to-external-facts>
> facter key1
>
> All methods are described in the docu, but everything fails. Only the ruby
> script
>  leads to an output
>
> facter --debug option gave an error message in ALL methods, even in case of
> the ruby facts (but here after the error message the output appears)
>
> What's going wrong here ?
>
> --
> 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/03b01e8c-b85f-404e-9e27-7460725aa7c2%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Hi Peter -

Facter only loads "custom facts" (facts in the standard facter format
in ruby *.rb files) in directories specified by FACTERLIB[1]. When
using "external facts" (facts derived from arbitrary executable files
returning key/value pairs on stdout) the files containing the facts
have to reside in a directory supplied as the value to the
`--external-dir` flag to facter, ie `facter key1 --external-dir
<path-to-external-facts` OR in one of the default external fact
directories for your platform[2]. On Linux/OSX running facter as root,
these directories are:

/opt/puppetlabs/facter/facts.d/
/etc/puppetlabs/facter/facts.d/
/etc/facter/facts.d/

and when running as a non-root user, $HOME/.facter/facts.d.

[1] 
https://docs.puppet.com/facter/3.4/custom_facts.html#using-the-facterlib-environment-variable
[2] https://docs.puppet.com/facter/3.4/custom_facts.html#fact-locations
-- 
Moses Mendoza
Puppet Labs

-- 
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/CA%2B421WbTsTHha%2BpC98_U%3DH0%3Djmko-xZZKVERefcTZHhYSo4vQA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to