Bug #1129
Facts distributed via plugins in modules method are sync'd but not evaluated
| Status: | Closed | Start: | ||
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assigned to: | % Done: | 0% |
||
| Category: | unknown | |||
| Target version: | 0.25.0 | |||
| Affected version: | Branch: | |||
| Keywords: | ||||
| Votes: | 0 |
Description
Using the methodology described in PluginsInModules, 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 PluginsInModules that the sync happens first, then facts are loaded, so that this doesn’t happen?
I’m using 0.24.x
History
Updated by Luke Kanies over 2 years ago
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.
Updated by Redmine Admin about 2 years ago
- Status changed from 1 to Accepted