Puppet: System Administration Automated

Support

Ticket #1129 (new defect)

Opened 6 months ago

Last modified 5 months ago

Facts distributed via plugins in modules method are sync'd but not evaluated

Reported by: micah Assigned to: community
Priority: normal Milestone: elmo
Component: unknown Version: 0.24.2
Severity: normal Keywords: plugins sync facts
Cc: Triage Stage: Accepted
Attached Patches: None Complexity: Unknown

Description

Using the methodology described in Plugins InModules, I find that puppet syncs the facts properly, but doesn't use those facts on that run, but requires you to re-run:

root@albatross:~# puppetd --test
info: Loading fact acpi_available
info: Loading fact interfaces
info: Loading fact private_ip
info: Loading fact netmask
info: Loading fact virtual
info: Loading fact vserver
info: Loading fact public_ip
info: Retrieving plugins
notice: /File[/var/lib/puppet/lib/facter/in_colo.rb]/ensure: created
notice: Ignoring cache
err: Could not retrieve catalog: Failed to parse template bind9/named.conf.options: Could not find value for 'in_colo' at /etc/puppet/manifests/classes/bind.pp:54 on node albatross
warning: Not using cache on failed catalog
root@albatross:~# 

As you can see, the fact was created, but then it ailed to parse the template, which requires that fact. If I re-run puppet, it loads that fact properly.

Isn't the point of the Plugins InModules that the sync happens first, then facts are loaded, so that this doesn't happen?

I'm using 0.24.x

Change History

03/12/08 19:37:22 changed by luke

  • stage changed from Unreviewed to Accepted.
  • milestone set to elmo.

For now, you can use factsync as a workaround. I doubt I'll get around to fixing this until I refactor the client code as part of 0.25.0.

04/24/08 07:20:47 changed by luke

  • component changed from client to unknown.