From 483f9c11e2419da2aa3fe83f306a2adf5f6938ef Mon Sep 17 00:00:00 2001 From: Peter Palfrader Date: Thu, 2 Sep 2010 16:48:43 +0200 Subject: [PATCH] Slightly modify ldapinfo, let's see what blows up --- .../lib/puppet/parser/functions/ldapinfo.rb | 3 +-- .../lib/puppet/parser/functions/whohosts.rb | 4 ++-- modules/exim/templates/manualroute.erb | 2 +- modules/ferm/templates/defs.conf.erb | 24 +++++++++---------- modules/motd/templates/motd.erb | 20 ++++++++-------- .../munin-node/templates/munin-node.conf.erb | 2 +- modules/nagios/templates/inc-debian.org.erb | 2 +- .../named/templates/named.conf.options.erb | 2 +- .../templates/authorized_keys.erb | 2 +- modules/ssh/templates/authorized_keys.erb | 4 ++-- 10 files changed, 32 insertions(+), 33 deletions(-) diff --git a/files/etc/puppet/lib/puppet/parser/functions/ldapinfo.rb b/files/etc/puppet/lib/puppet/parser/functions/ldapinfo.rb index 3564de329..3a687224d 100644 --- a/files/etc/puppet/lib/puppet/parser/functions/ldapinfo.rb +++ b/files/etc/puppet/lib/puppet/parser/functions/ldapinfo.rb @@ -19,8 +19,7 @@ module Puppet::Parser::Functions unless attributes.include?("*") next if attributes.any?{ |a| not x[a] or x[a].empty? } end - results[x['hostname'][0]] = [] - results[x['hostname'][0]] << x + results[x['hostname'][0]] = x end rescue LDAP::ResultError raise Puppet::ParseError, "LDAP error" diff --git a/files/etc/puppet/lib/puppet/parser/functions/whohosts.rb b/files/etc/puppet/lib/puppet/parser/functions/whohosts.rb index e31688bad..c2bda8c4a 100644 --- a/files/etc/puppet/lib/puppet/parser/functions/whohosts.rb +++ b/files/etc/puppet/lib/puppet/parser/functions/whohosts.rb @@ -12,8 +12,8 @@ module Puppet::Parser::Functions ans = "unknown" yaml = YAML.load_file(yamlfile) - if (nodeinfo['ldap'].at(0)) and (nodeinfo['ldap'][0].has_key?('ipHostNumber')) - nodeinfo['ldap'][0]['ipHostNumber'].each do |addr| + if (nodeinfo['ldap'].has_key?('ipHostNumber')) + nodeinfo['ldap']['ipHostNumber'].each do |addr| yaml.keys.each do |hoster| yaml[hoster].each do |net| if IPAddr.new(net).include?(addr) diff --git a/modules/exim/templates/manualroute.erb b/modules/exim/templates/manualroute.erb index 4f241704c..2b84b4ede 100644 --- a/modules/exim/templates/manualroute.erb +++ b/modules/exim/templates/manualroute.erb @@ -20,7 +20,7 @@ end mxregex = Regexp.new('^\d+\s+(.*)\.$') mxinfo.keys.sort.each do |host| - mxinfo[host][0]['mXRecord'].each do |mx| + mxinfo[host]['mXRecord'].each do |mx| mxmatch = mxregex.match(mx) if mxmatches.include?(mxmatch[1]) route = host + ":\t\t" + host diff --git a/modules/ferm/templates/defs.conf.erb b/modules/ferm/templates/defs.conf.erb index bd298c923..c39b03d65 100644 --- a/modules/ferm/templates/defs.conf.erb +++ b/modules/ferm/templates/defs.conf.erb @@ -19,7 +19,7 @@ mailrelay = [] localinfo.keys.sort.each do |node| if localinfo[node]['mailrelay'] - keyinfo[node][0]['ipHostNumber'].each do |ip| + keyinfo[node]['ipHostNumber'].each do |ip| next if ip =~ /:/ mailrelay << ip end @@ -33,7 +33,7 @@ mailrelay = [] localinfo.keys.sort.each do |node| if localinfo[node]['mailrelay'] - keyinfo[node][0]['ipHostNumber'].each do |ip| + keyinfo[node]['ipHostNumber'].each do |ip| next if ip =~ /\./ mailrelay << ip end @@ -49,7 +49,7 @@ nagii = [] localinfo.keys.sort.each do |node| if localinfo[node]['nagiosmaster'] or localinfo[node]['extranrpeclient'] - keyinfo[node][0]['ipHostNumber'].each do |ip| + keyinfo[node]['ipHostNumber'].each do |ip| next if ip =~ /:/ nagii << ip end @@ -63,7 +63,7 @@ nagii = [] localinfo.keys.sort.each do |node| if localinfo[node]['nagiosmaster'] or localinfo[node]['extranrpeclient'] - keyinfo[node][0]['ipHostNumber'].each do |ip| + keyinfo[node]['ipHostNumber'].each do |ip| next if ip =~ /\./ nagii << ip end @@ -79,7 +79,7 @@ munins = [] localinfo.keys.sort.each do |node| if localinfo[node]['muninmaster'] - keyinfo[node][0]['ipHostNumber'].each do |ip| + keyinfo[node]['ipHostNumber'].each do |ip| next if ip =~ /:/ munins << ip end @@ -93,7 +93,7 @@ munins = [] localinfo.keys.sort.each do |node| if localinfo[node]['muninmaster'] - keyinfo[node][0]['ipHostNumber'].each do |ip| + keyinfo[node]['ipHostNumber'].each do |ip| next if ip =~ /\./ munins << ip end @@ -109,7 +109,7 @@ dbs = [] localinfo.keys.sort.each do |node| if localinfo[node]['dbmaster'] - keyinfo[node][0]['ipHostNumber'].each do |ip| + keyinfo[node]['ipHostNumber'].each do |ip| next if ip =~ /\./ dbs << ip end @@ -123,7 +123,7 @@ dbs = [] localinfo.keys.sort.each do |node| if localinfo[node]['dbmaster'] - keyinfo[node][0]['ipHostNumber'].each do |ip| + keyinfo[node]['ipHostNumber'].each do |ip| next if ip =~ /:/ dbs << ip end @@ -138,8 +138,8 @@ @def $HOST_DEBIAN_V4 = (<%= dbs = [] keyinfo.keys.sort.each do |node| - next unless keyinfo[node][0].has_key?('ipHostNumber') - keyinfo[node][0]['ipHostNumber'].each do |ip| + next unless keyinfo[node].has_key?('ipHostNumber') + keyinfo[node]['ipHostNumber'].each do |ip| next if ip =~ /:/ dbs << ip end @@ -151,8 +151,8 @@ @def $HOST_DEBIAN_V6 = (<%= dbs = [] keyinfo.keys.sort.each do |node| - next unless keyinfo[node][0].has_key?('ipHostNumber') - keyinfo[node][0]['ipHostNumber'].each do |ip| + next unless keyinfo[node].has_key?('ipHostNumber') + keyinfo[node]['ipHostNumber'].each do |ip| next if ip =~ /\./ dbs << ip end diff --git a/modules/motd/templates/motd.erb b/modules/motd/templates/motd.erb index fbe118017..2b51dceeb 100644 --- a/modules/motd/templates/motd.erb +++ b/modules/motd/templates/motd.erb @@ -15,28 +15,28 @@ if nodeinfo.has_key?('nameinfo') end purp += 'Welcome to ' + fqdn -if (nodeinfo['ldap'].at(0)) and (nodeinfo['ldap'][0].has_key?('purpose')) - if nodeinfo['ldap'][0]['purpose'].include?('buildd') +if (nodeinfo['ldap'].has_key?('purpose')) + if nodeinfo['ldap']['purpose'].include?('buildd') purp += ", the Debian " - if nodeinfo['ldap'][0].has_key?('architecture') - purp += nodeinfo['ldap'][0]['architecture'][0] + if nodeinfo['ldap'].has_key?('architecture') + purp += nodeinfo['ldap']['architecture'][0] end purp += " build daemon\n" - elsif nodeinfo['ldap'][0]['purpose'].include?('porterbox') + elsif nodeinfo['ldap']['purpose'].include?('porterbox') purp += ", the Debian " - if nodeinfo['ldap'][0].has_key?('architecture') - purp += nodeinfo['ldap'][0]['architecture'][0] + if nodeinfo['ldap'].has_key?('architecture') + purp += nodeinfo['ldap']['architecture'][0] end purp += " porterbox\n" purp += "\n" purp += "See 'dchroot -l' for a list of available chroots.\n" - if nodeinfo['ldap'][0].has_key?('admin') - purp += "Please contact #{nodeinfo['ldap'][0]['admin'][0]} for install requests,\n" + if nodeinfo['ldap'].has_key?('admin') + purp += "Please contact #{nodeinfo['ldap']['admin'][0]} for install requests,\n" purp += "following the recommendations in .\n" end else purp += ", used for the following services:\n" - nodeinfo['ldap'][0]['purpose'].sort.each do |l| + nodeinfo['ldap']['purpose'].sort.each do |l| if l =~ /\[\[(\*|-)?(.*?)\]\]/ l = $2 end diff --git a/modules/munin-node/templates/munin-node.conf.erb b/modules/munin-node/templates/munin-node.conf.erb index 265b586f4..231b1a25a 100644 --- a/modules/munin-node/templates/munin-node.conf.erb +++ b/modules/munin-node/templates/munin-node.conf.erb @@ -42,7 +42,7 @@ ignore_file \.rpm(save|new)$ str = '' localinfo.keys.sort.each do |node| if localinfo[node]['muninmaster'] - keyinfo[node][0]['ipHostNumber'].each do |ip| + keyinfo[node]['ipHostNumber'].each do |ip| str += "allow ^" + ip.split('.').join('\.') + "$\n" end end diff --git a/modules/nagios/templates/inc-debian.org.erb b/modules/nagios/templates/inc-debian.org.erb index b8a26d696..bf6c2f95d 100644 --- a/modules/nagios/templates/inc-debian.org.erb +++ b/modules/nagios/templates/inc-debian.org.erb @@ -7,7 +7,7 @@ nagii = [] localinfo.keys.sort.each do |node| if localinfo[node]['nagiosmaster'] or localinfo[node]['extranrpeclient'] - nagii << keyinfo[node][0]['ipHostNumber'] + nagii << keyinfo[node]['ipHostNumber'] end end diff --git a/modules/named/templates/named.conf.options.erb b/modules/named/templates/named.conf.options.erb index b7eadf1bf..84469dfff 100644 --- a/modules/named/templates/named.conf.options.erb +++ b/modules/named/templates/named.conf.options.erb @@ -8,7 +8,7 @@ acl Nagios { str = '' localinfo.keys.sort.each do |node| if localinfo[node]['nagiosmaster'] - keyinfo[node][0]['ipHostNumber'].each do |ip| + keyinfo[node]['ipHostNumber'].each do |ip| str += "\t" + ip + "/32;\n" end end diff --git a/modules/portforwarder/templates/authorized_keys.erb b/modules/portforwarder/templates/authorized_keys.erb index ff38994b1..985f367c7 100644 --- a/modules/portforwarder/templates/authorized_keys.erb +++ b/modules/portforwarder/templates/authorized_keys.erb @@ -29,7 +29,7 @@ config.each_pair do |sourcehost, services| if allowed_ports.length > 0 sshkey = getportforwarderkey(sourcehost) - remote_ip = keyinfo[sourcehost][0]['ipHostNumber'].join(',') + remote_ip = keyinfo[sourcehost]['ipHostNumber'].join(',') local_bind = '127.101.%d.%d'%[ (sourcehost.hash / 256 % 256), sourcehost.hash % 256 ] lines << "# from #{sourcehost}" diff --git a/modules/ssh/templates/authorized_keys.erb b/modules/ssh/templates/authorized_keys.erb index 53681acc6..ba6f9f6ff 100644 --- a/modules/ssh/templates/authorized_keys.erb +++ b/modules/ssh/templates/authorized_keys.erb @@ -37,8 +37,8 @@ ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAuGJnElqbhgLtmJp/de8s42cAwKrkAhFq5u8EAkauEv6B when "bartok.debian.org", "beethoven.debian.org" then out = '' keyinfo.keys.sort.each do |node| - out += '# ' + keyinfo[node][0]['hostname'].to_s + ' -command="/usr/lib/da-backup/da-backup-ssh-wrap ' + keyinfo[node][0]['hostname'].to_s + '",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,from="' + keyinfo[node][0]['ipHostNumber'].join(',') + '" ' + keyinfo[node][0]['sshRSAHostKey'].to_s + ' + out += '# ' + keyinfo[node]['hostname'].to_s + ' +command="/usr/lib/da-backup/da-backup-ssh-wrap ' + keyinfo[node]['hostname'].to_s + '",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,from="' + keyinfo[node]['ipHostNumber'].join(',') + '" ' + keyinfo[node]['sshRSAHostKey'].to_s + ' ' end -- 2.20.1