diff options
-rw-r--r-- | lib/puppet/parser/interpreter.rb | 14 | ||||
-rwxr-xr-x | test/language/interpreter.rb | 8 |
2 files changed, 13 insertions, 9 deletions
diff --git a/lib/puppet/parser/interpreter.rb b/lib/puppet/parser/interpreter.rb index 8a6018b58..9c74934b0 100644 --- a/lib/puppet/parser/interpreter.rb +++ b/lib/puppet/parser/interpreter.rb @@ -65,7 +65,11 @@ module Puppet @usenodes = true end - @nodesources = hash[:NodeSources] || [:file] + @nodesources = [:file] + + if Puppet[:ldapnodes] + @nodesources << :ldap + end @nodesources.each { |source| method = "setup_%s" % source.to_s @@ -129,7 +133,7 @@ module Puppet parent, nodeclasses = self.send(method, node) end - if nodeclasses + if nodeclasses and !nodeclasses.empty? Puppet.info "Found %s in %s" % [node, source] return parent, nodeclasses end @@ -145,6 +149,10 @@ module Puppet ldapconnect() end + if node =~ /\./ + node = node.sub(/\..+/, '') + end + filter = Puppet[:ldapstring] attrs = Puppet[:ldapattrs].split("\s*,\s*") sattrs = attrs.dup @@ -183,7 +191,7 @@ module Puppet attrs.each { |attr| if values = entry.vals(attr) - classes += values + values.each do |v| classes << v end end } end diff --git a/test/language/interpreter.rb b/test/language/interpreter.rb index 1dbeb3ada..22a2e71e8 100755 --- a/test/language/interpreter.rb +++ b/test/language/interpreter.rb @@ -143,6 +143,7 @@ class TestInterpreter < Test::Unit::TestCase def test_ldapnodes Puppet[:ldapbase] = "ou=hosts, dc=madstop, dc=com" + Puppet[:ldapnodes] = true ldapconnect() file = tempfile() @@ -166,15 +167,10 @@ class TestInterpreter < Test::Unit::TestCase interp = nil assert_nothing_raised { interp = Puppet::Parser::Interpreter.new( - :Manifest => file, - :NodeSources => [:ldap] + :Manifest => file ) } - assert_nothing_raised { - interp.setup_ldap - } - parent = nil classes = nil assert_nothing_raised { |