Bug #569
Dynamic facts always force a recompile
| Status: | Closed | Start date: | ||
|---|---|---|---|---|
| Priority: | Urgent | Due date: | ||
| Assignee: | % Done: | 0% |
||
| Category: | plumbing | |||
| Target version: | - | |||
| Affected Puppet version: | 0.25.4 | Branch: | ||
| Keywords: | ||||
| Votes: | 0 |
Description
puppetd now checks to see if facts have changed, and if they have, it recompiles without checking if the server-side configuration has changed.
This works fine in theory, except that Facter now includes multiple dynamic facts, including information about memory and swap, which are always going to change. This means that for those platforms that support these facts, the configuration will get recompiled every time.
History
Updated by Steven Jenkins almost 5 years ago
Replying to [ticket:569 luke]:
puppetd now checks to see if facts have changed, and if they have, it recompiles without checking if the server-side configuration has changed.
This works fine in theory, except that Facter now includes multiple dynamic facts, including information about memory and swap, which are always going to change. This means that for those platforms that support these facts, the configuration will get recompiled every time.
It isn’t clear to me that this is a defect vs an enhancement request. Dynamic facts might actual kick off an actual change in a configuration (e.g., if memory utilization crosses a certain threshold, then I don’t want the ‘super-sized’ version of ‘big-fat-memory-hog’ to run; instead, I want the ‘diet-right’ version of ‘slim-and-trim’ to run instead). Being able to specify this type of difference is a feature enhancement, I suspect.
In the meantime, you could add a ‘ignore dynamic facts’ flag or some such and specifically list the properties that would not kick off a recompile (e.g., ‘—ignore-dynamic-facts=memory,swap’).
Updated by Luke Kanies over 4 years ago
- Status changed from 2 to Closed
- 7 set to fixed
Fixed in r2516.
Updated by James Turnbull almost 2 years ago
- Category set to plumbing
- Status changed from Closed to Needs Decision
- Target version deleted (
0.25.0) - Affected Puppet version set to 0.25.4
Luke – this feature seems to have disappeared – the configuration option is still there but the code to process the dynamic facts seems to have been lost in the REST move. Was that intentional?
Updated by Luke Kanies almost 2 years ago
This hasn’t been used since we disabled staleness checking for catalogs, which was early in the 0.24 release cycle.
This does need to get resurrected as we bring back long-term catalog retention, but it should probably be a new ticket.
Updated by James Turnbull almost 2 years ago
- Status changed from Needs Decision to Closed