Issue #16856 has been updated by R.I. Pienaar.

Andrew Parker wrote:
> 
> I agree that this would enhance the integration with hiera that was started 
> with the inclusion of data bindings for parameterized classes. Would still 
> like to get an idea of where exactly we are trying to take all of this so 
> that we aren't just blowing from one feature to the next without a larger 
> plan, but that concern is beyond this one ticket.

I strongly disagree that this is 'blowing from one feature to the next'.

Data separation has been a topic for years and years, I've personally probably 
discussed this problem with 1000+ people.  Many in Puppet Labs have attempted 
to solve this problem, I think Nigel spent well over a year on and off on it 
even to the point of involving language designers at google.  Many of us have 
implemented various takes on this and many in the community did the same.  The 
current feature set and overall design of hiera is the result of literally 
years of small directed iterations driven strongly by discussing the needs of 
the user base and validating those ideas. 

In the end I donated the current Hiera code for inclusion and it got included 
because it was clear that the model it uses is correct and solves the problem 
effectively for a very large % of users. It isn't the solution for 100% of 
users but it was never supposed to be it aims to solve it for the high % of 
common users while leaving the integration points like ENCs etc for those with 
really special needs.

The fact that this is very widely adopted in the community, used effectively 
and often cited as one of the best recent additions to Puppet underpins this as 
the right model.  Today we are very much at a place where there is one default 
way in which people manage data in Puppet.  This is a huge win something we 
have all identified as being a massive short coming in Puppet.

As per the PR we can certainly improve the code structure and I've been wanting 
to do so. It though seems that the team just is a) not aware of the design and 
background of how this problem got solved b) not paying this code base much 
attention c) starting to bike shed on redesigning this yet again.  

So rather than this being a matter of 'blowing from feature to feature' I 
consider this a natural progression and comfortable fit to what we have today 
which is the result of years of refinement and research.  If anything is 
blowing from feature to feature it's those who are again embarking on a process 
of re-solving this problem and looking to interrupt the community who has now 
rallied around a single data solution while it seems no-one was paying 
attention - to do so is a great risk, we are just about reaching this point 
since the inclusion of Hiera in Puppet 3 and now it seems we're prepared to 
squander that opportunity.

Instead the focus should be improve the underlying hiera code, keeping its 
behavior and design and bolstering it for our future needs by iterative 
improvements which is exactly what this PR does.
----------------------------------------
Feature #16856: puppet should support data in modules
https://projects.puppetlabs.com/issues/16856#change-79170

Author: R.I. Pienaar
Status: Needs More Information
Priority: Normal
Assignee: R.I. Pienaar
Category: 
Target version: 
Affected Puppet version: 
Keywords: 
Branch: https://github.com/puppetlabs/puppet/pull/1217


At present there is a way to store data in modules using the puppet backend for 
hiera but it is optional and kind of broken.  The site hierarchy impacts how 
the puppet backend behaves which makes it impossible for module authors to 
supply data in their modules they can rely on

I propose a new hiera backend that loads a hierarchy of data from the 'data' 
directory in the module, this module must always be present in a puppet 
install.  This ability is key to the ability to create configurable forge 
modules that do not have hard coded values thanks to the puppet 3 hiera 
integration

reference the users list thread 
https://groups.google.com/d/topic/puppet-users/pvqzeyHkrY4/discussion


-- 
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