Issue #2770 has been updated by Peter Meier.
> Peter Meier wrote:
> > yes, they don't occur and puppet seems to work, except the nasty message
> > print to stderr. I assumed puppet switches to yaml?
>
> Ah. That puts a different complexion on it. Here's what I think is going on:
>
> * You have a resource with a namevar, title, or target that contains or
> consists of characters with the high bit set. Depending on the environment
> you may see these as the corresponding 7-bit ASCII character or as a unicode
> character that, to the human eye, looks like one
> * Without iconv, these are passed verbatum and everything works, apart from
> the warning, because what the client gets is exactly what's on the server.
> * With iconv installed (and assuming //IGNORE) it removes these and, on
> encoding, produces relations that have an empty target designation.
> * This then fails
ok, so this would make sense.
> It matches all the evidence save one point: in the catalog you emailed there
> is no evidence of such a character.
:/ I couldn't find anyone either.
> However, the data was also split into multiple lines and showed other
> evidence that some process had massaged it in transit, and it is possible
> that this process also removed the odd character(s). Can you describe how
> you captured it?
I sent you two. One I captured with the new compile option on the master. This
one also fails to apply on the very same master (I tried it with --noop as it
isn't really the catalog for the master, but I think that doesn't matter) as
well on the failing client, as well other clients (openbsd or centos).
The other one I captured by putting
<pre>
File.open('/tmp/catalog','w') { |f| f.puts response.body }
</pre>
in /usr/local/lib/ruby/site_ruby/1.8/puppet/indirector/rest.rb on line 50.
I pack the 2 catalogs in a tar and send the archive to you, as they don't
consist of multiple lines on my systems. So maybe mail changed them :/
----------------------------------------
Bug #2770: pson not properly serializing some resources
http://projects.reductivelabs.com/issues/2770
Author: Peter Meier
Status: Accepted
Priority: Normal
Assigned to: Markus Roberts
Category: serialization
Target version: 0.25.2
Affected version: 0.25.1
Keywords: pson
Branch:
Switching on openbsd 4.3 to 0.25.1 I get as first this warning printed to
stderr:
<pre>
Failed to load feature test for pson: iconv couldn't be loaded, which is
required for UTF-8/UTF-16 conversions
</pre>
I then installed ruby-iconv to have iconv support present for ruby (@ruby 1.8.6
(2007-09-24 patchlevel 111) [i386-openbsd4.3]@ btw.) however every run fails
with the following error:
<pre>
info: Loading facts in xen
debug: Format s not supported for Puppet::Resource::Catalog; has not
implemented method 'from_s'
/usr/local/lib/ruby/site_ruby/1.8/puppet/resource/catalog.rb:438:in
`edge_from_pson'
/usr/local/lib/ruby/site_ruby/1.8/puppet/resource/catalog.rb:417:in `from_pson'
/usr/local/lib/ruby/site_ruby/1.8/puppet/resource/catalog.rb:416:in `each'
/usr/local/lib/ruby/site_ruby/1.8/puppet/resource/catalog.rb:416:in `from_pson'
/usr/local/lib/ruby/site_ruby/1.8/puppet/util/pson.rb:11:in `pson_create'
/usr/local/lib/ruby/site_ruby/1.8/puppet/external/pson/pure/parser.rb:256:in
`parse_object'
/usr/local/lib/ruby/site_ruby/1.8/puppet/external/pson/pure/parser.rb:97:in
`parse'
/usr/local/lib/ruby/site_ruby/1.8/puppet/external/pson/common.rb:133:in `parse'
/usr/local/lib/ruby/site_ruby/1.8/puppet/network/formats.rb:146:in `intern'
/usr/local/lib/ruby/site_ruby/1.8/puppet/network/format_handler.rb:13:in `send'
/usr/local/lib/ruby/site_ruby/1.8/puppet/network/format_handler.rb:13:in
`protect'
/usr/local/lib/ruby/site_ruby/1.8/puppet/network/format_handler.rb:28:in
`intern'
/usr/local/lib/ruby/site_ruby/1.8/puppet/network/format_handler.rb:97:in
`convert_from'
/usr/local/lib/ruby/site_ruby/1.8/puppet/indirector/rest.rb:50:in `deserialize'
/usr/local/lib/ruby/site_ruby/1.8/puppet/indirector/rest.rb:69:in `find'
/usr/local/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:198:in `find'
/usr/local/lib/ruby/site_ruby/1.8/puppet/indirector.rb:51:in `find'
/usr/local/lib/ruby/site_ruby/1.8/puppet/configurer.rb:94:in `retrieve_catalog'
/usr/local/lib/ruby/site_ruby/1.8/puppet/util.rb:417:in `thinmark'
/usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure'
/usr/local/lib/ruby/1.8/benchmark.rb:307:in `realtime'
/usr/local/lib/ruby/site_ruby/1.8/puppet/util.rb:416:in `thinmark'
/usr/local/lib/ruby/site_ruby/1.8/puppet/configurer.rb:93:in `retrieve_catalog'
/usr/local/lib/ruby/site_ruby/1.8/puppet/configurer.rb:145:in `run'
/usr/local/lib/ruby/site_ruby/1.8/puppet/agent.rb:53:in `run'
/usr/local/lib/ruby/site_ruby/1.8/puppet/agent/locker.rb:21:in `lock'
/usr/local/lib/ruby/site_ruby/1.8/puppet/agent.rb:53:in `run'
/usr/local/lib/ruby/1.8/sync.rb:229:in `synchronize'
/usr/local/lib/ruby/site_ruby/1.8/puppet/agent.rb:53:in `run'
/usr/local/lib/ruby/site_ruby/1.8/puppet/agent.rb:130:in `with_client'
/usr/local/lib/ruby/site_ruby/1.8/puppet/agent.rb:51:in `run'
/usr/local/lib/ruby/site_ruby/1.8/puppet/application/puppetd.rb:103:in `onetime'
/usr/local/lib/ruby/site_ruby/1.8/puppet/application.rb:226:in `send'
/usr/local/lib/ruby/site_ruby/1.8/puppet/application.rb:226:in `run_command'
/usr/local/lib/ruby/site_ruby/1.8/puppet/application.rb:217:in `run'
/usr/local/lib/ruby/site_ruby/1.8/puppet/application.rb:306:in `exit_on_fail'
/usr/local/lib/ruby/site_ruby/1.8/puppet/application.rb:217:in `run'
/usr/local/sbin/puppetd:159
err: Could not retrieve catalog from remote server: Could not intern from pson:
Could not convert from pson: Could not find relationship target ''
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run
</pre>
Runnning puppet without ruby-iconv installed works fine so far. Except that the
warning is printed to stderr, as I think it should rather be a puppet warning,
shouldn't it? -> I can file a second bug if it should rather be a puppet
warning.
--
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://reductivelabs.com/redmine/my/account
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Puppet Bugs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/puppet-bugs?hl=en
-~----------~----~----~----~------~----~------~--~---