Issue #15086 has been updated by Jason Rojas.

Looking at your logs this is an obvious database connectivity issue:

$ grep mysql puppetmasterd.log 
Mon Jun 18 17:26:11 +0100 2012 Puppet (info): Connecting to mysql database: 
puppet
Mon Jun 18 17:26:11 +0100 2012 Puppet (err): Cached catalog for 
puppet.localdomain failed: Can't connect to local MySQL server through socket 
'/var/lib/mysql/mysql.sock' (2)
Mon Jun 18 17:26:11 +0100 2012 Puppet (info): Connecting to mysql database: 
puppet
Mon Jun 18 17:26:11 +0100 2012 Puppet (err): 
/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.15/lib/active_record/connection_adapters/mysql_adapter.rb:618:in
 `real_connect'

That would be why stored configs result in a 400 for serving fact info.
In my case I have no log entries with puppet running behind passenger that 
would state that the DB couldn't be reached.
I've even cranked up the logging level via ARG << "--debug" and no dice.

I just updated to the latest puppet 2.6 version and the issue remains. 
Hopefully this is fixed in 2.7, I should be giving that a shot within the new 
few days.


----------------------------------------
Bug #15086: HTTP 400 errors with storeconfigs
https://projects.puppetlabs.com/issues/15086#change-66909

Author: Matthew Burgess
Status: Unreviewed
Priority: Normal
Assignee: 
Category: 
Target version: 
Affected Puppet version: 2.7.16
Keywords: 
Branch: 


When storeconfigs is turned on in /etc/puppet/puppet.conf, testing using 
/usr/share/puppet/ext/puppet-load.rb results in clients failing with an HTTP 
400 error.

/var/log/messages contains the following error:

Mon Jun 18 17:26:59 +0100 2012 Puppet (err): Failed when searching for node 
puppet.localdomain: Could not retrieve facts for puppet.localdomain: undefined 
method `name' for ["production", "production"]:Array

The host is a bare-bones CentOS-5.8 install running as a VirtualBox VM; it was 
a minimal install with packages added just to satisfy puppet dependencies.  
There are *no* manifests at all in this installation, the /etc/puppet directory 
is as provided by the puppet and puppet-server RPMs other than the 2 config 
file changes as attached.

The attached log file was produced by running puppetmaster as follows:

puppetmasterd --no-daemonize --debug --trace --logdest /tmp/puppetmasterd.log

On a second console, puppet-load.rb is then invoked using:

cd /usr/share/puppet/ext
./puppet-load.rb --cert /var/lib/puppet/ssl/certs/puppet.localdomain.pem --key 
/var/lib/puppet/ssl/private_keys/puppet.localdomain.pem --server 
puppet.localdomain --factsdir /var/lib/puppet/yaml/facts --node 
puppet.localdomain --debug

Note that if I turn storeconfigs off, I have no problems with even 50 
concurrent connections (though that obviously required me to add the 
'dbconnections = 50' parameter to puppet.conf).


-- 
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://projects.puppetlabs.com/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.

Reply via email to