Issue #15062 has been updated by Mariusz Gronczewski.
At this point even having sensible default would help, as if for some reason
environment isnt "right" puppet just fails with cryptic (for new user) message.
Could encoding just be made parameter to template ? like
template('some/file.erb','ISO-8859-2') ? Then default could be UTF8 but few
files needing specific encodunf could be easily fixed
----------------------------------------
Bug #15062: puppet fails if template contains invalid utf-8
https://projects.puppetlabs.com/issues/15062#change-98181
* Author: Chris Price
* Status: Needs Decision
* Priority: Normal
* Assignee: eric sorenson
* Category: templates
* Target version:
* Affected Puppet version: 2.7.16
* Keywords: character encoding binary utf8
* Branch:
----------------------------------------
If you attempt to use a file resource with a 'content' parameter pointing at a
template, and the template contains binary content, you may get an error like
this:
Error: Failed to apply catalog: Parameter content failed: Munging failed
for value ...
invalid byte sequence in UTF-8
I've reproduced the failure in 2.7.16 and 3.x, though the error messages differ
slightly between the two (and also depending on whether you repro via 'apply'
or via master/agent run).
I'm attaching the binary file that I'm using to repro. Save it into a
directory structure like this:
modules/mymod/templates/mytemplate.erb
Add the "modules" directory to your module path and then you can repro with the
following manifest:
file { "/tmp/myfile":
mode => 755,
content => template("mymod/mytemplate.erb"),
}
Note that if you use the 'source' parameter rather than the 'content' parameter
(and avoid calling the template function), the manifest can be applied
successfully; so the issue is when bringing in binary data as a string.
--
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.
For more options, visit https://groups.google.com/groups/opt_out.