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.