Bug #1002

factpath must be specified because puppetd does not honour facts in $libdir/facter

Added by AJ Christensen over 4 years ago. Updated about 2 years ago.

Status:Closed Start date:
Priority:Normal Due date:
Assignee:Puppet Community % Done:

0%

Category:unknown
Target version:-
Affected Puppet version:0.24.4 Branch:
Keywords:
Votes: 0

Description

in 0.24.1, factpath must be specified, even when $libdir (default: /var/lib/puppet/lib) contains a ‘facter’ folder. I would have naturally assumed that facts in $libdir/facter would be automatically parsed and loaded, but they are not. Please advise if this is desired behaviour (e.g. third party facts are only loaded when factpath is specified) or infact a bug.

root@asterisk02:/etc/puppet# puppetd --configprint libdir
/var/lib/puppet/lib
root@asterisk02:/etc/puppet# cat puppet.conf
[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
#factpath=/var/lib/puppet/lib/facter
ssldir=/var/lib/puppet/ssl
pidfile=/var/run/puppet/$name.pid

[puppetd]
runinterval=120
pluginsync=true
root@asterisk02:/var/lib/puppet/lib# find ./facter/
./facter/
./facter/interfaces.rb
./facter/netmask.rb
./facter/acpi_available.rb
root@asterisk02:/var/lib/puppet/lib# puppetd --test --noop
info: Retrieving plugins
notice: Ignoring cache
info: /Exec[/usr/sbin/usermod -p 9E3gV2S6ApjUs root]: Adding aliases "setrootpassword"
info: /Exec[/usr/bin/apt-get update]: Adding aliases "aptgetupdate"
info: /Exec[/bin/true # require_lsbdistcodename]: Adding aliases "require_lsbdistcodename"
info: /Exec[/bin/true # assert_lsbdistcodename]: Adding aliases "assert_lsbdistcodename"
info: Caching catalog at /var/lib/puppet/state/localconfig.yaml
notice: Starting catalog run
7c7
< #factpath=/var/lib/puppet/lib/facter
---
> factpath=/var/lib/puppet/lib/facter
notice: //Node[asterisk02]/generic-systems/File[/etc/puppet/puppet.conf]/checksum: is {md5}b8f00560c339013c0881326141f06b8b, should be md5 (noop)
notice: //Node[asterisk02]/generic-systems/File[/etc/puppet/puppet.conf]/source: is {md5}b140780858ba536b64ea2af86502e5dc, should be puppet:///files/puppet.conf (noop)
notice: //Node[asterisk02]/generic-systems/monit::puppet/Service[monit]/ensure: is stopped, should be running (noop)
notice: Finished catalog run in 9.93 seconds
root@asterisk02:/var/lib/puppet/lib# puppetd --test --noop --factpath=/var/lib/puppet/lib/facter
info: Loading fact interfaces
info: Loading fact netmask
info: Loading fact acpi_available
info: Retrieving plugins
notice: Ignoring cache
info: /Exec[/bin/true # require_lsbdistcodename]: Adding aliases "require_lsbdistcodename"
info: /Exec[/bin/true # assert_lsbdistcodename]: Adding aliases "assert_lsbdistcodename"
info: /Exec[/usr/bin/apt-get update]: Adding aliases "aptgetupdate"
info: /Exec[/usr/sbin/usermod -p 9E3gV2S6ApjUs root]: Adding aliases "setrootpassword"
info: Caching catalog at /var/lib/puppet/state/localconfig.yaml
notice: Starting catalog run
7c7
< #factpath=/var/lib/puppet/lib/facter
---
> factpath=/var/lib/puppet/lib/facter
notice: //Node[asterisk02]/generic-systems/File[/etc/puppet/puppet.conf]/checksum: is {md5}b8f00560c339013c0881326141f06b8b, should be md5 (noop)
notice: //Node[asterisk02]/generic-systems/File[/etc/puppet/puppet.conf]/source: is {md5}b140780858ba536b64ea2af86502e5dc, should be puppet:///files/puppet.conf (noop)
notice: //Node[asterisk02]/generic-systems/monit::puppet/Service[monit]/ensure: is stopped, should be running (noop)
notice: Finished catalog run in 6.59 seconds

As you can see, with factpath specified the facts are loaded, yet without it they are not.

History

Updated by Luke Kanies over 4 years ago

Given the ease of the workaround, and the fact that I’m going to have to rewrite a good bit of the code associated with this for 0.25, I’m not going to push to get this into 0.24.2.

Updated by Redmine Admin almost 4 years ago

  • Status changed from 1 to Accepted

Updated by Luke Kanies over 3 years ago

  • Status changed from Accepted to Closed
  • Affected Puppet version set to 0.24.4

This should be fixed with Facter 1.5 and Puppet 0.24.5.

Also available in: Atom PDF