X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fpuppetmaster%2Flib%2Fpuppet%2Fparser%2Ffunctions%2Fyamlinfo.rb;h=6590d62530d4bb5383ae0ca65a27c0ff26b45109;hb=e50cda3666f187a73d78a32a526c81146b4f1602;hp=8f705c8d813730d31dd1185ee824b7f4f1e47d82;hpb=16eed32a3024a77e67ff9cab8e0126d3777484d1;p=mirror%2Fdsa-puppet.git diff --git a/modules/puppetmaster/lib/puppet/parser/functions/yamlinfo.rb b/modules/puppetmaster/lib/puppet/parser/functions/yamlinfo.rb index 8f705c8d8..6590d6253 100644 --- a/modules/puppetmaster/lib/puppet/parser/functions/yamlinfo.rb +++ b/modules/puppetmaster/lib/puppet/parser/functions/yamlinfo.rb @@ -1,10 +1,9 @@ +require 'puppet/file_system' + module Puppet::Parser::Functions newfunction(:yamlinfo, :type => :rvalue) do |args| host = args[0] - yamlfile = args[1] - parser = Puppet::Parser::Parser.new(environment) - parser.watch_file(yamlfile) read_yaml = lambda { |yaml, host| results = {} @@ -24,12 +23,6 @@ module Puppet::Parser::Functions end end - results['mail_port'] = '' - results['smarthost'] = '' - results['heavy_exim'] = '' - results['smarthost_port'] = 587 - results['reservedaddrs'] = '0.0.0.0/8 : 127.0.0.0/8 : 10.0.0.0/8 : 169.254.0.0/16 : 172.16.0.0/12 : 192.0.0.0/17 : 192.168.0.0/16 : 224.0.0.0/4 : 240.0.0.0/5 : 248.0.0.0/5' - if yaml['host_settings'].kind_of?(Hash) yaml['host_settings'].each_pair do |property, values| if values.kind_of?(Hash) @@ -43,13 +36,13 @@ module Puppet::Parser::Functions } require 'yaml' - $KCODE = 'utf-8' + yamlfile = Puppet::Parser::Files.find_file('debian_org/misc/local.yaml', compiler.environment) yaml = YAML.load_file(yamlfile) ret = {} if host == '*' - Dir.entries('/var/lib/puppet/yaml/node/').each do |fname| + Dir.entries('/var/lib/puppet/yaml/facts/').each do |fname| next unless fname =~ /(.*)\.yaml$/ host_name = $1 ret[host_name] = read_yaml.call(yaml, host_name)