]> git.donarmstrong.com Git - dsa-puppet.git/commitdiff
Move hosterinfo into nodeinfo
authorPeter Palfrader <peter@palfrader.org>
Wed, 2 Mar 2011 14:56:15 +0000 (15:56 +0100)
committerPeter Palfrader <peter@palfrader.org>
Wed, 2 Mar 2011 14:56:15 +0000 (15:56 +0100)
manifests/site.pp
modules/puppetmaster/lib/puppet/parser/functions/nodeinfo.rb
modules/puppetmaster/lib/puppet/parser/functions/whohosts.rb
modules/resolv/templates/resolv.conf.erb
modules/ssh/templates/authorized_keys.erb

index 4d0ef65aaf58cbb704b7950114530836365fd3c4..f0699a9e4cb627061715ad76b7c95ce1376b241c 100644 (file)
@@ -16,9 +16,7 @@ Exec {
 node default {
     $localinfo = yamlinfo('*', "/etc/puppet/modules/debian-org/misc/local.yaml")
     $nodeinfo  = nodeinfo($fqdn, "/etc/puppet/modules/debian-org/misc/local.yaml")
-    $hosterinfo = whohosts($nodeinfo, "/etc/puppet/modules/debian-org/misc/hoster.yaml")
     $allnodeinfo = allnodeinfo("sshRSAHostKey ipHostNumber", "purpose mXRecord")
-    notice("hoster for ${fqdn} is ${hosterinfo}")
 
     include munin-node
     include syslog-ng
index ff447e89b1ac0cdb84df010c0790361fdc2e0a2c..947caf70ab97c1b58202d68aec65c5946f183d0f 100644 (file)
@@ -5,9 +5,14 @@ module Puppet::Parser::Functions
     yamlfile = args[1]
 
     require '/var/lib/puppet/lib/puppet/parser/functions/ldapinfo.rb'
+    require '/var/lib/puppet/lib/puppet/parser/functions/whohosts.rb'
 
     results         = function_yamlinfo(host, yamlfile)
     results['ldap'] = function_ldapinfo(host, '*')
+    unless results['ldap']['ipHostNumber']
+      raise Puppet::ParseError, "Host #{host} does not have ipHostNumber values in ldap"
+    end
+    results['hoster'] = whohosts(results['ldap']['ipHostNumber'], "/etc/puppet/modules/debian-org/misc/hoster.yaml")
 
     results['misc'] = {}
     fqdn = lookupvar('fqdn')
index 4b4371db132612fe9617695305367981bf81abc2..20f83d367851f75ad07ad9ba6f957eaaff82038b 100644 (file)
@@ -3,7 +3,7 @@ module Puppet::Parser::Functions
     require 'ipaddr'
     require 'yaml'
 
-    nodeinfo = args[0]
+    ipAddrs = args[0]
     yamlfile = args[1]
     parser.watch_file(yamlfile)
 
@@ -12,24 +12,22 @@ module Puppet::Parser::Functions
     ans = {"name" => "unknown"}
     yaml = YAML.load_file(yamlfile)
 
-    if (nodeinfo['ldap'].has_key?('ipHostNumber'))
-      nodeinfo['ldap']['ipHostNumber'].each do |addr|
-        yaml.keys.each do |hoster|
-          if yaml[hoster].kind_of?(Hash) and yaml[hoster].has_key?('netrange')
-            netrange = yaml[hoster]['netrange']
-          else
-            next
-          end
+    ipAddrs.each do |addr|
+      yaml.keys.each do |hoster|
+        if yaml[hoster].kind_of?(Hash) and yaml[hoster].has_key?('netrange')
+          netrange = yaml[hoster]['netrange']
+        else
+          next
+        end
 
-          netrange.each do |net|
-            begin
-              if IPAddr.new(net).include?(addr)
-                ans = yaml[hoster]
-                ans['name'] = hoster
-              end
-            rescue => e
-              raise Puppet::ParseError, "Error while trying to match addr #{addr} for net #{net}: #{e.message}\n#{e.backtrace}"
+        netrange.each do |net|
+          begin
+            if IPAddr.new(net).include?(addr)
+              ans = yaml[hoster]
+              ans['name'] = hoster
             end
+          rescue => e
+            raise Puppet::ParseError, "Error while trying to match addr #{addr} for net #{net}: #{e.message}\n#{e.backtrace}"
           end
         end
       end
index 4e9f7650c588e0c184acbea08ad07c1cc2258f2d..f4257666e32a6e904f4572185fe6c491d2f187b6 100644 (file)
@@ -12,9 +12,9 @@ if %w{draghi liszt widor spohr samosa}.include?(hostname)
   nameservers << "127.0.0.1"
 end
 
-nameservers += hosterinfo['nameservers'] if hosterinfo['nameservers']
-searchpaths += hosterinfo['searchpaths'] if hosterinfo['searchpaths']
-options += hosterinfo['resolvoptions'] if hosterinfo['resolvoptions']
+nameservers += nodeinfo['hoster']['nameservers'] if nodeinfo['hoster']['nameservers']
+searchpaths += nodeinfo['hoster']['searchpaths'] if nodeinfo['hoster']['searchpaths']
+options += nodeinfo['hoster']['resolvoptions'] if nodeinfo['hoster']['resolvoptions']
 
 searchpaths << "debian.org"
 
index c9a3cbd68df5533b8383277acd6df0ce3eba4211..c05d4ed6ffb5e246d4fc78285f0aa471e2162628 100644 (file)
@@ -1,5 +1,5 @@
 # local admin
-<%= hosterkeys = case hosterinfo['name']
+<%= hosterkeys = case nodeinfo['hoster']['name']
          when "ubcece" then
          "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvEEyxznxleAhk98K7SkAeAKWibijL5uFjIl1+tr8rz+XmFsjabTK2+hQXkgzmU+jqQ2+MPp6btfAq9Oe27GQYWUFfsAZMRb907dReFQYPKbPhQZoo5LUfkrCiR3tD0Nm2JfepTV0079K1+Q50EMImttwbI94FfSoSgTxgF4rCoLpUgmF0IHDR1+kTGow7YnuS1Y/I1zKAbofg8KBGXOLArkcZbxArt25Y2wlnE+ZHIb3Rn3pYc3/KmPPvEQy9IkR/uzzkWSaCBVMFJEO0ejjWrV4HR64GlKUPQ0CekSYn1EErY55CF5sWkasXhflluwSf7b+/jedDM1A1Vrp9Z/F8Q== chrisd"
     end