<%= require 'ldap' require 'yaml' $KCODE = 'utf-8' yaml = YAML.load_file("/etc/puppet/modules/debian-org/misc/nodeinfo.yaml") results = {} ['nameinfo', 'footer'].each do |detail| if yaml.has_key?(detail) if yaml[detail].has_key?($name) results[detail] = yaml[detail][$name] end end end ldap = LDAP::Conn.new('samosa.debian.org') results['ldap'] = [] filter = '(hostname=' + $name +')' begin ldap.search2('ou=hosts,dc=debian,dc=org', LDAP::LDAP_SCOPE_SUBTREE, filter) do |x| results['ldap'] << x end rescue LDAP::ResultError rescue RuntimeError ensure ldap.unbind end results -%>