Details
-
Bug
-
Status: Closed
-
Normal
-
Resolution: Won't Fix
-
PUP 5.3.3
-
None
-
Froyo
-
Needs Assessment
-
Needs Assessment
Description
I have been using the puppet master --compile application to test compiling catalogs for each of my nodes before moving forward with upgrading from my old 4.2.3 Puppet server.
For one particular role, the 5.x puppet master --compile fails to output the catalog. The last two lines it produces are:
2017-11-21 00:39:23 +0000 Puppet (notice): Compiled catalog for hostname.example.com in environment production in 18.80 seconds
|
2017-11-21 00:39:24 +0000 Puppet (err): Failed to compile catalog for node hostname.example.com: source sequence is illegal/malformed utf-8
|
I believe this message is being generated in /opt/puppetlabs/puppet/lib/ruby/vendor/puppet/application/master.rb line 172, in the compile method:
puts JSON::pretty_generate(catalog.to_resource, :allow_nan => true, :max_nesting => false)
|
When I switch this to PSON::pretty_generate, it works fine.
This is being caused by a File resource trying to install an executable binary program via the content parameter - when I remove that particular File resource from the compilation, it completes without a problem.
I can't tell if this will be a problem when I move to an agent/server model, so this troubles me. If this is a global problem, then it's definitely a high priority regression. If it only affects the puppet master --compile application, then it's lower priority, but still problematic, as the File resource implicitly allows for binary content based on the https://puppet.com/docs/puppet/5.3/types/file.html comment that "On Windows, note that file contents are managed in binary mode; Puppet never automatically translates line endings."
Attachments
Issue Links
- relates to
-
PUP-9055 Compile catalogs on demand with user-specified facts
-
- Resolved
-