From 8bdab078f1596badc3ea821351068043f5485ae2 Mon Sep 17 00:00:00 2001 From: Stephen Gran Date: Sat, 14 Nov 2009 18:43:33 +0000 Subject: [PATCH] This should do it Signed-off-by: Stephen Gran --- .../etc/puppet/lib/puppet/parser/functions/allnodeinfo.rb | 3 ++- files/etc/puppet/lib/puppet/parser/functions/ldapinfo.rb | 8 ++++++-- files/etc/puppet/lib/puppet/parser/functions/nodeinfo.rb | 6 ++++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/files/etc/puppet/lib/puppet/parser/functions/allnodeinfo.rb b/files/etc/puppet/lib/puppet/parser/functions/allnodeinfo.rb index 9a7d8c4f..b38da346 100644 --- a/files/etc/puppet/lib/puppet/parser/functions/allnodeinfo.rb +++ b/files/etc/puppet/lib/puppet/parser/functions/allnodeinfo.rb @@ -1,5 +1,6 @@ module Puppet::Parser::Functions newfunction(:allnodeinfo, :type => :rvalue) do |attributes| - return function_ldapinfo('*', attributes) + require '/etc/puppet/lib/puppet/parser/functions/ldapinfo.rb' + return (function_ldapinfo('*', attributes)) end end diff --git a/files/etc/puppet/lib/puppet/parser/functions/ldapinfo.rb b/files/etc/puppet/lib/puppet/parser/functions/ldapinfo.rb index 23243c04..b8080909 100644 --- a/files/etc/puppet/lib/puppet/parser/functions/ldapinfo.rb +++ b/files/etc/puppet/lib/puppet/parser/functions/ldapinfo.rb @@ -18,7 +18,7 @@ module Puppet::Parser::Functions unless attributes.include?("*") next if attributes.any?{ |a| not x[a] or x[a].empty? } end - results[x['hostname']] = x + results[host] = x end rescue LDAP::ResultError raise Puppet::ParseError, "LDAP error" @@ -27,6 +27,10 @@ module Puppet::Parser::Functions ensure ldap.unbind end - return( host == '*' ? results : results[host] ) + if host == '*' + return(results) + else + return(results[host]) + end end end diff --git a/files/etc/puppet/lib/puppet/parser/functions/nodeinfo.rb b/files/etc/puppet/lib/puppet/parser/functions/nodeinfo.rb index d8af932a..2e0521d1 100644 --- a/files/etc/puppet/lib/puppet/parser/functions/nodeinfo.rb +++ b/files/etc/puppet/lib/puppet/parser/functions/nodeinfo.rb @@ -5,8 +5,8 @@ module Puppet::Parser::Functions yamlfile = args[1] parser.watch_file(yamlfile) - require 'ldap' require 'yaml' + require '/etc/puppet/lib/puppet/parser/functions/ldapinfo.rb' $KCODE = 'utf-8' @@ -44,7 +44,9 @@ module Puppet::Parser::Functions end end - results['ldap'] = function_ldapinfo(host, '*') + results['ldap'] = [] + results['ldap'] << function_ldapinfo(host, '*') + return(results) end end -- 2.39.2