Issue #15062 has been updated by Mathieu Arnold.
Hi, I've been testing ruby 1.9.3 on a test server, and I'm getting this issue too. Saying that "everything has to be UTF-8" is a nice thing, but in the real world, it's not happening any time soon. I need to be able to distribute non UTF-8 files, I even have a couple of files containing delimited but unescaped binary values. Enforcing UTF-8 for .pp files should not, I think, harm anyone, even if I don't see a real good reason for, but enforcing it for template files is IMHO a bad idea, puppet should see those files as a bunch of bytes, that it has to ensure is present, but anything more is a bad idea. Regards, ---------------------------------------- Bug #15062: puppet fails if template contains invalid utf-8 https://projects.puppetlabs.com/issues/15062#change-94175 * 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.
