]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - files/etc/puppet/lib/puppet/parser/functions/allnodeinfo.rb
This should do it
[dsa-puppet.git] / files / etc / puppet / lib / puppet / parser / functions / allnodeinfo.rb
index 3eab872d10187862f8d946d19cb6fdebf88eed50..b38da346fb42615a838bdec0d01bbeeba805082a 100644 (file)
@@ -1,29 +1,6 @@
 module Puppet::Parser::Functions
   newfunction(:allnodeinfo, :type => :rvalue) do |attributes|
-
-    unless attributes.include?('hostname')
-      attributes << 'hostname'
-    end
-
-    ldap = LDAP::SSLConn.new('db.debian.org', 636)
-
-    results = []
-    filter = '(hostname=*)'
-    begin
-      ldap.search2('ou=hosts,dc=debian,dc=org', LDAP::LDAP_SCOPE_SUBTREE, filter, attrs=attributes, false, 0, 0, s_attr="hostname") do |x|
-        # If a returned value doesn't have all the attributes we're searching for, skip
-        attributes.each do |a|
-          next if x[a].empty?
-        end
-        results << x
-      end
-    rescue LDAP::ResultError
-      raise Puppet::ParseError, "LDAP error"
-    rescue RuntimeError
-      raise Puppet::ParseError, "No data returned from search"
-    ensure
-      ldap.unbind
-    end
-    return(results)
+    require '/etc/puppet/lib/puppet/parser/functions/ldapinfo.rb'
+    return (function_ldapinfo('*', attributes))
   end
 end