There seems to be problem with ldapnodes when a node doesn't have a single puppetclass attribute in ldap.
My puppetmaster is 0.23.2-1.el5, running on RHEL 5 (5.0)
When a client, that has only parentnode but no puppetclasses defined in ldap, tries to connect to puppetmaster, the master says
puppetmasterd[10987]: undefined method `+' for nil:NilClass
It only happened with clients not having any puppetclasses defined. The problem was fixed after adding an empty class for every nodes' definitions to ldap
This is seemed to fix it even though I'm still unconfident whether it might break something or not
--- parser/interpreter.rb.ORIG 2007-11-19 11:16:38.000000000 +0200
+++ parser/interpreter.rb 2007-11-19 11:20:35.000000000 +0200
@@ -411,10 +411,6 @@
classes.flatten!
- if classes.empty?
- classes = nil
- end
-
if parent or classes or parameters
return parent, classes, parameters
else
when the above code is cut out, classes return value is an empty array instead of nil