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.
