Issue #6352 has been updated by Luke Kanies.

After reviewing the code with Nick Lewis, it was determined that my branch has 
(expected) performance implications - rather than retrieving individual fact 
values, we retrieve the entire set of facts every time we want a value.  He 
concluded this was too major a change to merge.

My recommendation is that we just cache the values, with the cache being 
cleared every time 'load' is called.  This should provide sufficient semantics, 
and is very simple.

Comments?
----------------------------------------
Bug #6352: Puppet should only use Facter through a plugin interface
https://projects.puppetlabs.com/issues/6352

Author: Luke Kanies
Status: In Topic Branch Pending Merge
Priority: Normal
Assignee: Luke Kanies
Category: plumbing
Target version: 
Affected Puppet version: 
Keywords: facter dependencies
Branch: luke/ticket/master/6352-facter_should_not_be_hard_coded


Significant parts of Puppet (especially the client-side) use Facter directly.  
E.g., all of the provider subsystem is directly calling out to Facter.

This causes a few problems:

* Facter is hard-coded as a dependency for Puppet
* Facter is required even if none of its data is used
* Facter tends to be called more often than is necessary, because the data 
could just be cached in memory

This should be fixed so that Puppet provides its own internal interfaces for 
interacting with Facter data, such that there's only one part of the system 
that actually talks to Facter.


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to