Issue #6352 has been updated by Luke Kanies.

Daniel and I discussed this in person and I never updated the ticket.

>From what I remember, he and I disagreed on what it means for Facter not to be 
>bound to Puppet.  I think Puppet and Facter sharing fact names is not a 
>binding, but Daniel seems to think it is, and thus there should be an 
>abstraction between Puppet and Facter that does something like pick different 
>names for every fact, or at least support different names for facts.

As to the addition of the 'load' method, I agree with him that it's a change, 
but it's not a dramatic change, and you have to choose between some extension 
to the API or painful slowness.

As to the value of the pull request, well, it's already there, so if we were 
asking whether it was worth writing that would be one question, but because the 
code is already there it's a question of comparing the cost of merging and 
ongoing maintenance to not doing it, rather than the cost of developing it.  (I 
suppose there's also the by-now non-trivial rebasing cost.)  I wrote this in my 
spare time because I wanted to, not because it was specifically tied to a 
company priority, and while I think the code has its short-comings I am happy 
to find other solutions and I think overall it's 99% of the way to making 
Facter no longer a hard dependency and also providing the opportunity for a 
much thinner API between Puppet and Facter, which are both good.
----------------------------------------
Bug #6352: Puppet should only use Facter through a plugin interface
https://projects.puppetlabs.com/issues/6352#change-68041

Author: Luke Kanies
Status: Needs More Information
Priority: Normal
Assignee: Daniel Pittman
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