-
Type:
Bug
-
Status: Closed
-
Priority:
Normal
-
Resolution: Cannot Reproduce
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: Docs
-
Template:customfield_10700 114745
-
Epic Link:
-
Team:Coremunity
When upgrading from Puppet 3.6.2 and more importantly Ruby 1.8.7 to Puppet 4 and Ruby 2.1.6p336 (2015-04-13 revision 50298) [x86_64-linux], puppet is unable to replace a file that was previously laid down by the older version of puppet/ruby.
Error: /Stage[main]/Ssl::Cacerts/File[/etc/pki/tls/certs/ca-bundle.crt]/content: change from {md5}6b39ebed99eb4b724966e1bcab09eb6d to {md5}3dbe985e13d4d1a09ee41b11d4e7e296 failed: invalid byte sequence in UTF-8
|
This is a sourced file
puppet:///modules/ssl/cacerts/ca-bundle.crt
|
The file on disk
file /etc/pki/tls/certs/ca-bundle.crt
|
/etc/pki/tls/certs/ca-bundle.crt: ISO-8859 English text
|
md5sum /etc/pki/tls/certs/ca-bundle.crt
|
6b39ebed99eb4b724966e1bcab09eb6d /etc/pki/tls/certs/ca-bundle.crt
|
|
the file on master
file ca-bundle.crt
|
ca-bundle.crt: ASCII English text
|
md5sum ca-bundle.crt
|
3dbe985e13d4d1a09ee41b11d4e7e296 ca-bundle.crt
|
the trace shows this is actually our display code
Notice: /Stage[main]/Main/Cron[pe-mcollective-metadata]/ensure: current_value present, should be absent (noop)
|
Error: invalid byte sequence in UTF-8
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/colors.rb:92:in `gsub'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/colors.rb:92:in `console_color'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/colors.rb:82:in `colorize'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log/destinations.rb:170:in `handle'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:174:in `block in newmessage'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:173:in `each'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:173:in `newmessage'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:266:in `initialize'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:85:in `new'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:85:in `create'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/logging.rb:9:in `send_log'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/logging.rb:18:in `block (2 levels) in <module:Logging>'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/file/content.rb:104:in `block in insync?'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/file/content.rb:167:in `write_temporarily'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/file/content.rb:103:in `insync?'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/property.rb:259:in `safe_insync?'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:123:in `sync_if_needed'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:89:in `block in perform_changes'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:88:in `each'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:88:in `perform_changes'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:20:in `evaluate'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:204:in `apply'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:220:in `eval_resource'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:147:in `call'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:147:in `block (2 levels) in evaluate'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:292:in `block in thinmark'
|
/opt/puppetlabs/puppet/lib/ruby/2.1.0/benchmark.rb:294:in `realtime'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:291:in `thinmark'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:147:in `block in evaluate'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/graph/relationship_graph.rb:118:in `traverse'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:138:in `evaluate'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:178:in `block in apply'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:153:in `with_destination'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/report.rb:107:in `as_logging_destination'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:177:in `apply'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:119:in `block in apply_catalog'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:129:in `block in benchmark'
|
/opt/puppetlabs/puppet/lib/ruby/2.1.0/benchmark.rb:294:in `realtime'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:128:in `benchmark'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:118:in `apply_catalog'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:228:in `run_internal'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:134:in `block in run'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:64:in `override'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:223:in `override'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:133:in `run'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:48:in `block (4 levels) in run'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent/locker.rb:20:in `lock'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:48:in `block (3 levels) in run'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:98:in `with_client'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:45:in `block (2 levels) in run'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:65:in `run_in_fork'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:44:in `block in run'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:179:in `call'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:179:in `controlled_run'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:42:in `run'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/agent.rb:351:in `onetime'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/agent.rb:328:in `run_command'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:344:in `block in run'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:446:in `exit_on_fail'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:344:in `run'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:128:in `run'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:72:in `execute'
|
/opt/puppetlabs/puppet/bin/puppet:5:in `<main>'
|
Error: /Stage[main]/Ssl::Cacerts/File[/etc/pki/tls/certs/ca-bundle.crt]/content: change from {md5}6b39ebed99eb4b724966e1bcab09eb6d to {md5}3dbe985e13d4d1a09ee41b11d4e7e296 failed: invalid byte sequence in UTF-8
|
Adding --color false fixes the first trace
Error: invalid byte sequence in UTF-8
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log/destinations.rb:36:in `split'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log/destinations.rb:36:in `handle'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:174:in `block in newmessage'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:173:in `each'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:173:in `newmessage'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:266:in `initialize'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:85:in `new'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:85:in `create'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/logging.rb:9:in `send_log'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/logging.rb:18:in `block (2 levels) in <module:Logging>'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/file/content.rb:104:in `block in insync?'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/file/content.rb:167:in `write_temporarily'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/file/content.rb:103:in `insync?'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/property.rb:259:in `safe_insync?'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:123:in `sync_if_needed'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:89:in `block in perform_changes'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:88:in `each'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:88:in `perform_changes'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:20:in `evaluate'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:204:in `apply'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:220:in `eval_resource'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:147:in `call'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:147:in `block (2 levels) in evaluate'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:292:in `block in thinmark'
|
/opt/puppetlabs/puppet/lib/ruby/2.1.0/benchmark.rb:294:in `realtime'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:291:in `thinmark'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:147:in `block in evaluate'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/graph/relationship_graph.rb:118:in `traverse'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:138:in `evaluate'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:178:in `block in apply'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:153:in `with_destination'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/report.rb:107:in `as_logging_destination'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:177:in `apply'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:119:in `block in apply_catalog'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:129:in `block in benchmark'
|
/opt/puppetlabs/puppet/lib/ruby/2.1.0/benchmark.rb:294:in `realtime'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:128:in `benchmark'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:118:in `apply_catalog'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:228:in `run_internal'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:134:in `block in run'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:64:in `override'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:223:in `override'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:133:in `run'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:48:in `block (4 levels) in run'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent/locker.rb:20:in `lock'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:48:in `block (3 levels) in run'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:98:in `with_client'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:45:in `block (2 levels) in run'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:65:in `run_in_fork'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:44:in `block in run'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:179:in `call'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:179:in `controlled_run'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:42:in `run'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/agent.rb:351:in `onetime'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/agent.rb:328:in `run_command'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:344:in `block in run'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:446:in `exit_on_fail'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:344:in `run'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:128:in `run'
|
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:72:in `execute'
|
/opt/puppetlabs/puppet/bin/puppet:5:in `<main>'
|
Adding -diff /bin/true + original args bypasses the error
sudo puppet agent -t --no-show_diff --color false --diff /bin/true
|
Info: Retrieving pluginfacts
|
Info: Retrieving plugin
|
Info: Loading facts
|
Info: Caching catalog for puppet-postgres2001.sv2.box.net
|
Info: Applying configuration version '1454364865'
|
Notice: /Stage[main]/Main/Cron[pe-mcollective-metadata]/ensure: current_value present, should be absent (noop)
|
Notice: /Stage[main]/Ssl::Cacerts/File[/etc/pki/tls/certs/ca-bundle.crt]/content:
|
Notice: /Stage[main]/Ssl::Cacerts/File[/etc/pki/tls/certs/ca-bundle.crt]/content: content changed '{md5}6b39ebed99eb4b724966e1bcab09eb6d' to '{md5}3dbe985e13d4d1a09ee41b11d4e7e296'
|
- relates to
-
PUP-7063 Handle incompatible encodings in Puppet::Util::Log when rendering to console
-
- Closed
-