summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/puppet/parser/interpreter.rb14
-rwxr-xr-xtest/language/interpreter.rb8
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 {