Issue #18490 has been updated by Peter Meier.

I think most of the ideas that came up here are in my opinion rather bad ideas. 
http://www.slideshare.net/PuppetLabs/whatnottodo describes it quite well what 
should be done instead of using the defined() function -> Seperate concerns -> 
Means more modules -> But why are you afraid of more modules?

I really like the approach that things are separated within their own module 
and are little easy manageable chunks of puppet code. And in my opinion a 
module that manages everything, also its dependencies, is simply wrong - by 
definition.

I could live with the situation that duplicated resources with the same values 
wouldn't clash. But yes there are lot of edge cases where things could go 
wrong, and also in case of an error: which resource should be named as the 
offending one? And so on.

Introducing some automagic for an approach that is in my opinion anyway already 
wrong, would also lead to tons of unexpected or weird behaviour, edge cases 
that make puppet unpredictable and so on.

People should really separate their concerns and hence manage dependencies of 
multiple classes/modules in their own class/module.

defined() is really not the solution. So far I have only seen one good use case 
for defined, all the others that 99% of the time people try to use it, is when 
they try to workaround an already clumsy module/class structure.
----------------------------------------
Feature #18490: Duplicate resources can make re-usable Forge modules difficult
https://projects.puppetlabs.com/issues/18490#change-82995

Author: Ryan Coleman
Status: Investigating
Priority: Normal
Assignee: Ryan Coleman
Category: modules
Target version: 3.x
Affected Puppet version: 
Keywords: 
Branch: 


[EDIT] Re-working this description based on feedback in comment #7. 

User installs module A to provide a web application. 

User installs module B to provide a database server.

Both module A and module B declare a package resource for foo. 

User declares classes from both module A and B on the same node.

User receives duplicate resource declaration error, Puppet run fails. 


I wish to prevent customers of Forge and Puppet from experiencing this 
frustration, when both classes really do need that package for their 
functionality but cannot be used together as-is. I'd love direct questions if 
you need to understand this better from my perspective.



-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to