summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser/interpreter.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/parser/interpreter.rb')
-rw-r--r--lib/puppet/parser/interpreter.rb14
1 files changed, 11 insertions, 3 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