puppet-master: Server Error: can't modify frozen String: ""

Bug #1875055 reported by Hadmut Danisch
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
puppet (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Hi,

I just tried to upgrade my puppet-master from 18.04 to 20.04 (fresh install in an LXD container, using the very same setup and data).

It's not possible to request a certificate from the master, because the puppet-master runs into this problem:

Apr 25 18:45:55 puppet puppet-master[4109]: Server Error: can't modify frozen String: ""
Apr 25 18:45:55 puppet puppet-master[4109]: /usr/lib/ruby/vendor_ruby/puppet/network/http/response.rb:14:in `encode!'

It seems as if the puppet version 5.5.10 chosen for 20.04 focal is not compatible with other ruby libraries coming with focal.

Another hint: On an 20.04 puppet client I see tons of warnings
/usr/lib/ruby/vendor_ruby/puppet/util.rb:461: warning: URI.escape is obsolete

I'm currently not sure whether an upgrade to the latest 5 version of puppet (5.5.19) would fix the problem as I do not see changes to the reported code lines.

Revision history for this message
Hadmut Danisch (hadmut) wrote :

The problem is:

20.04 comes with ruby 2.7, but puppet is not yet compatible with ruby 2.7. See upstream

https://tickets.puppetlabs.com/browse/PUP-10247

Puppetlabs say in https://tickets.puppetlabs.com/browse/PUP-10467

This appears to be an issue with the native Ubuntu package? Our Puppet Agent package (contains its own Ruby) should be available soon (nightlies are up now - https://nightlies.puppet.com/apt/pool/focal/ ). Puppet itself is not fully working with Ruby 2.7 yet (https://tickets.puppetlabs.com/browse/PUP-10247), but that work is also underway.

That's the problem. Puppet and Ruby2.7 not compatible yet.

I can run the master smoothly when running in a docker image built with ruby 2.6, but I haven't found a decent solution for the client/agent yet.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in puppet (Ubuntu):
status: New → Confirmed
Revision history for this message
Hadmut Danisch (hadmut) wrote :

Following https://tickets.puppetlabs.com/browse/PUP-10247 , it seems that Puppet Labs is unable to make puppet running on distributions with ruby 2.7 such as (but not only) Ubuntu 20.04.

Although a major problem (unable to install gems) is said to have been fixed in 5.5.14, it seems as if Puppet Labs is not going to maintain and update puppet 5 anymore, and just maintains puppet 6.

Puppet 6 on the other hand is called incomplete by one of the commenters, and furthermore, requires JDK to run as a java applet on the server side instead of puppet master.

Looks as if Puppet Labs is not able to provide a running solution within reasonable time or for 20.04.1

That's really a problem since many people rely on having puppet for installation.

Revision history for this message
Hadmut Danisch (hadmut) wrote :

Is anyone listening here?

It looks as if the puppet packages are not maintained by ubuntu maintainers, but just taken from debian.

Debian, on the other hand, has fixed the problem and made things working:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=955532

So who would be able and willing to port the debian solution to ubuntu?

Revision history for this message
Hadmut Danisch (hadmut) wrote :

Is there any chance at all to get puppet running straigth on Ubuntu within reasonable time?

Any intention to get Ubuntu ready for production environments?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.