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.

Reply via email to