summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-06-12 20:04:25 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-06-12 20:04:25 +0000
commita6122e8d67ffc0165e8746150e6af7f53cb7be2d (patch)
tree9170d8be932d5d23085b1f10547a7de43159f960
parent360a40567479b8c50c5123cddf643e931c2665cc (diff)
downloadpuppet-a6122e8d67ffc0165e8746150e6af7f53cb7be2d.tar.gz
puppet-a6122e8d67ffc0165e8746150e6af7f53cb7be2d.tar.xz
puppet-a6122e8d67ffc0165e8746150e6af7f53cb7be2d.zip
Fixing ldap node lookup. The test was set up badly, in that it did not actually provide a way to enable ldap node support, even though there was a config option that should have worked. All works now.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1254 980ebf18-57e1-0310-9a29-db15c13687c0
-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 {