mongrel based puppetmaster and strange error messages

Earlier this week I did a portsupgrade(8) on my FreeBSD puppetmaster. After the upgrade was completed, puppet stopped working and was displaying these errors:

err: /File[/var/puppet/lib]: Failed to generate additional resources using ‘eval_generate’: No format match the given format name or mime-type (text/html)
err: /File[/var/puppet/lib]: Could not evaluate: No format match the given format name or mime-type (text/html) Could not retrieve file metadata for puppet://puppet.home.pirzyk.org/plugins: No format match the given format name or mime-type (text/html)

err: Could not retrieve catalog from remote server: No format match the given format name or mime-type (text/html)

After spending a few hours on this problem I decided to point my web browser at https://puppet.home.pirzyk.org:8140 and I saw this strange page:

Load Balancer Manager for puppet.home.pirzyk.org

Server Version: Apache/X.X.X (FreeBSD) DAV/2 PHP/X.X.X with Suhosin-Patch SVN/X.X.X mod_ssl/X.X.X OpenSSL/X.X.X
Server Built: Nov 1 2011 XX:XX:XX

LoadBalancer Status for balancer://puppetmaster

StickySession Timeout FailoverAttempts Method
0 3 byrequests
Worker URL Route RouteRedir Factor Set Status Elected To From
http://127.0.0.1:18140 1 0 Ok 1 558 115
http://127.0.0.1:18141 1 0 Ok 0 0 0
http://127.0.0.1:18142 1 0 Ok 0 0 0
http://127.0.0.1:18143 1 0 Ok 0 0 0

LoadBalancer Status for balancer://puppetmaster

StickySession Timeout FailoverAttempts Method
0 0 byrequests
Worker URL Route RouteRedir Factor Set Status Elected To From

This page was showing up for every URL on the site, not just the root page. I hunted around for the documentation about setting up the balancer manager and found this Apache page for mod_proxy_balancer. They document the balancer-manager section to look like this:


SetHandler balancer-manager
Order Deny,Allow
Deny from all
Allow from .example.com

But PuppetLabs’ mongrel configuration was documented as:


SetHandler balancer-manager
Order allow,deny
Allow from all

There was the difference, Location was / in the puppet docs instead of /balancer-manager, as in the Apache docs.  Puppet was happy again once I made this change.  Not sure what update caused the problem; the only related package updated was php.