On 30/05/12 19:10, Matthew Burgess wrote:
> On Wed, May 30, 2012 at 5:11 PM, Brice Figureau
> <brice-pup...@daysofwonder.com> wrote:
>> Hi Matthew,
>>
>> As the original author of puppet-load (and the aforementioned blog
>> post), I'm sorry to answer so late to this thread.
>>
>> On Wed, 2012-05-30 at 16:32 +0100, Matthew Burgess wrote:
>>>> Apologies for taking so long to get back about this, more pressing
>>>> matters took precedence.  So, back on this, I think I must be doing
>>>> something really daft then, as I've made that change to my auth.conf
>>>> file and still get the same forbidden errors.
>>>
>>> Indeed, I was doing something really daft.  I'd added the changes to
>>> the bottom of auth.conf.  2 things were wrong in doing that:
>>>
>>> a) Adding anything below the 'path /' stanza isn't going to be picked
>>> up, I don't think (I noticed this when trying to get 'puppet kick' to
>>> work and got
>>> similar 403 errors when trying to access /run)
>>> b) There's already a 'path ~ ^/catalog/([^/]+)$' stanza in the default
>>> auth.conf file, so the settings there were being hit before my new
>>> stanza at the bottom
>>> of the file.  By adding 'allow master.domain.com' and 'auth any' to
>>> the default stanza the 403s have disappeared.
>>>
>>> Now though, is my next problem.  puppet-load works fine with
>>> concurrency set to 1.  As soon as I increase that number though, I get
>>> the following error:
>>>
>>> undefined method `>' for ["2.7.14", "2.7.14"]:Array on node 
>>> master.domain.com
>>
>> Where do you get this error?
>> Is it from puppet-load or your current master stack?
>> Is there any stack trace printed?
> 
> The error appears in /var/log/messages and is being spit out by the
> puppet master.
> 
>> Can you add --debug and --trace to the puppet-load command line?
> 
> I've added --debug, but there's no --trace option.

My bad, there is no --trace in puppet-load. But there is one for puppet
master. Running your master with --debug and --trace will definitely
print a stack trace.

>From there, I believe I should be able to understand what really happens.

My gut feeling right now is that the facts puppet-load sends to the
master are somehow not correct, but I can be wrong of course.

> debug just shows the facts file being picked up, then both clients
> finishing with an HTTP code 400.  No stack trace is printed.
> 
> I've also added --debug to the puppetmaster's config.ru file.  That's
> printing lots of stuff about access lists, expiring the nodes and then
> caching the node, then I get the undefined method error.  Again, no
> stack trace :-(
> 
> So, I took mod_passenger out of the equation and ran 'puppetmasterd
> --no-daemonize --debug --verbose --logdest /tmp/puppet-error.log' and
> get the following:
> 
> Wed May 30 18:02:22 +0100 2012 Puppet (info): Expiring the node cache
> of master.domain.com
> Wed May 30 18:02:22 +0100 2012 Puppet (info): Expiring the node cache
> of master.domain.com
> Wed May 30 18:02:23 +0100 2012 Puppet (info): Not using expired node
> for master.domain.com from cache; expired at Wed May 30 18:01:22 +0100
> 2012
> Wed May 30 18:02:23 +0100 2012 Puppet (info): Not using expired node
> for master.domain.com from cache; expired at Wed May 30 18:01:22 +0100
> 2012
> Wed May 30 18:02:23 +0100 2012 Puppet (debug): Executing
> '/etc/puppet/enc.pl master.domain.com'
> Wed May 30 18:02:23 +0100 2012 Puppet (debug): Executing
> '/etc/puppet/enc.pl master.domain.com'
> Wed May 30 18:02:24 +0100 2012 Puppet (debug): Using cached facts for
> master.domain.com
> Wed May 30 18:02:24 +0100 2012 Puppet (debug): Using cached facts for
> master.domain.com
> Wed May 30 18:02:24 +0100 2012 Puppet (info): Caching node for 
> master.domain.com
> Wed May 30 18:02:24 +0100 2012 Puppet (info): Caching node for 
> master.domain.com
> Wed May 30 18:02:24 +0100 2012 Puppet (err): undefined method `>' for
> ["2.7.14", "2.7.14"]:Array on node master.domain.com
> Wed May 30 18:02:24 +0100 2012 Puppet (err): undefined method `>' for
> ["2.7.14", "2.7.14"]:Array on node master.domain.com
> Wed May 30 18:02:24 +0100 2012 Puppet (err): undefined method `>' for
> ["2.7.14", "2.7.14"]:Array on node master.domain.com
> Wed May 30 18:02:24 +0100 2012 Puppet (err): undefined method `>' for
> ["2.7.14", "2.7.14"]:Array on node master.domain.com
> Wed May 30 18:02:32 +0100 2012 Puppet (notice): Caught INT; calling stop
> 
> Now, interestingly, I guess, is that every other run of puppet-load is
> triggering this issue, so adding '--repeat 2' to my puppet-load
> command line will trigger the issue consistently for me (as in 2
> requests will succeed, 2 will fail).  If you want full debug logs of
> that type of run, I'll be more than happy to provide them.

Probably that the stacktrace you'll get with --trace will be enough for
the moment. Also if you can cat the facts file (feel free to obfuscate
the private data you might have in there), that might help.

-- 
Brice Figureau
My Blog: http://www.masterzen.fr/

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to