Red Hat Bugzilla – Bug 831303
From my F17 Puppet Server to my F16 Client, "Request-URI Too Large"
Last modified: 2013-08-01 16:10:50 EDT
Description of problem:
Initially I tried bringing up my first F17 node via a puppet master running on F15. This failed apparently because the master is now running an older version than the client. Fair enough, I'll build an F17 master first.
After a few other surprises were resolved (puppet-2.7/ruby-1.9), I now have a situation where an F17 master can successfully serve an F17 client, but it refuses to serve an F16 client, which results in an error "Request-URI Too Large".
Someone please tell me I'm not going to need to have a pair of masters, one for older (F8-F16) clients and one for newer (F17-) clients.
Version-Release number of selected component (if applicable):
On the F17 hosts (server and client):
On the F16 hosts (client):
Steps to Reproduce:
1. configure a puppet master atop F17 and a client atop F16
2. as root, run: puppet agent --test
err: Could not retrieve catalog from remote server: Error 414 on SERVER: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HEAD><TITLE>Request-URI Too Large</TITLE></HEAD>
<H1>Request-URI Too Large</H1>
WEBrick/1.3.1 (Ruby/1.9.3/2012-04-20) OpenSSL/1.0.0j at
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run
It should just work.
I've managed a temporary work-around with this patch:
diff -up /usr/share/ruby/webrick/httprequest.rb.orig /usr/share/ruby/webrick/httprequest.rb
--- /usr/share/ruby/webrick/httprequest.rb.orig 2011-07-22 08:49:34.000000000 -0400
+++ /usr/share/ruby/webrick/httprequest.rb 2012-06-13 09:56:47.944953176 -0400
@@ -290,7 +290,7 @@ module WEBrick
- MAX_URI_LENGTH = 2083 # :nodoc:
+ MAX_URI_LENGTH = 4096 # :nodoc:
@request_line = read_line(socket, MAX_URI_LENGTH) if socket
This is triggered by old puppet clients sending long HTTP GET requests (newer clients use POST for long requests), and new WEBrick being a bit more restrictive than before.
This is worked around upstream:
Can we get this fix included in Fedora 18 and newer?
I'd be happy to do the packaging work myself.
puppet-2.7.21-2.fc17 has been submitted as an update for Fedora 17.
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing puppet-2.7.21-2.fc17'
as soon as you are able to.
Please go to the following url:
then log in and leave karma (feedback).
This message is a reminder that Fedora 17 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 17. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora
'version' of '17'.
Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version prior to Fedora 17's end of life.
Bug Reporter: Thank you for reporting this issue and we are sorry that
we may not be able to fix it before Fedora 17 is end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora, you are encouraged change the
'version' to a later Fedora version prior to Fedora 17's end of life.
Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.
Fedora 17 changed to end-of-life (EOL) status on 2013-07-30. Fedora 17 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.
If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version.
Thank you for reporting this bug and we are sorry it could not be fixed.