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): puppet-2.7.13-1.fc17.noarch ruby-1.9.3.194-10.1.fc17.x86_64 On the F16 hosts (client): puppet-2.6.16-1.fc16.noarch ruby-1.8.7.358-1.fc16.x86_64 How reproducible: always Steps to Reproduce: 1. configure a puppet master atop F17 and a client atop F16 2. as root, run: puppet agent --test Actual results: err: Could not retrieve catalog from remote server: Error 414 on SERVER: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <HTML> <HEAD><TITLE>Request-URI Too Large</TITLE></HEAD> <BODY> <H1>Request-URI Too Large</H1> WEBrick::HTTPStatus::RequestURITooLarge <HR> <ADDRESS> WEBrick/1.3.1 (Ruby/1.9.3/2012-04-20) OpenSSL/1.0.0j at mdct-puppet.dartcontainer.com:8140 </ADDRESS> </BODY> </HTML> warning: Not using cache on failed catalog err: Could not retrieve catalog; skipping run Expected results: It should just work. Additional info:
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 private - MAX_URI_LENGTH = 2083 # :nodoc: + MAX_URI_LENGTH = 4096 # :nodoc: def read_request_line(socket) @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: https://github.com/puppetlabs/puppet/commit/ec462b7b974fc34110437010f862780fb2ee39a3.patch 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. https://admin.fedoraproject.org/updates/puppet-2.7.21-2.fc17
Package puppet-2.7.21-2.fc17: * 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: https://admin.fedoraproject.org/updates/FEDORA-2013-4187/puppet-2.7.21-2.fc17 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.