Issue #5158 has been updated by John Bollinger.
Per Nigel's request: Discussion on the Puppet Users group (http://groups.google.com/group/puppet-users/browse_thread/thread/b9c7cf0b29085f80) seems to have come to broad agreement on this course of action: 1) Fix issue #4885 to allow the file() and template() functions and the File/source property to work with relative paths in a consistent manner. 2) Implement a general-purpose string concatenation function or operator for the Puppet DSL (I personally prefer a function, but the group discussion has not focused on that distinction) 3) Deprecate, but do not remove at this time, the template() function's support for multiple arguments. The fix for issue #4885 will take care of making filesystem path handling consistent across the areas of current concern. With that, the file() function, the File/source property, and single-argument invocations of template() will be consistent. Combination of single-argument template() invocations with string concatenation will be the preferred alternative to multiple-argument template() invocations. The File resource type will not be modified. Until such time as multi-arg support is actually removed from template(), all compatibility issues associated with this approach are localized in the fix for issue 4885. ---------------------------------------- Feature #5158: File resources: Make source/content parameters and the file/template functions consistent. https://projects.puppetlabs.com/issues/5158 Author: Nigel Kersten Status: Needs design decision Priority: Normal Assignee: Nigel Kersten Category: Target version: Affected Puppet version: Keywords: Branch: We have four main ways we can specify file content in a file resource. 1. The source parameter 2. The content parameter 3. The file function 4. The template function These behave inconsistently in the following ways. The source parameter, file function and template function all can take an array. For source/file, the first file that exists will be used. For the template function, we concatenate the templates instead. The file function takes fully qualified paths only. The template function takes fully qualified paths, or dereferences relative paths as follows. 'foo/bar.erb' -> modules/foo/templates/bar.erb The latter problem is relatively easily solved, particularly if we implement #4885 We are going to have to break backwards compatibility to solve the first problem however. My feeling is that more people make use of the multi-select logic in the source parameter/file function than make use of the concatenation of the template function. -- 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.
