Do not blow up if a host does not have purpose set
[mirror/dsa-puppet.git] / modules / puppetmaster / lib / puppet / parser / functions / nodeinfo.rb
index 74dcd89..63c6fca 100644 (file)
@@ -13,7 +13,13 @@ module Puppet::Parser::Functions
         raise Puppet::ParseError, "Host #{host} does not have ipHostNumber values in ldap"
       end
       nodeinfo['hoster'] = function_whohosts(nodeinfo['ldap']['ipHostNumber'], "/etc/puppet/modules/debian-org/misc/hoster.yaml")
-      nodeinfo['buildd'] = nodeinfo['ldap']['purpose'].include?('buildd')
+      nodeinfo['buildd'] = nodeinfo['ldap']['purpose'] and nodeinfo['ldap']['purpose'].include?('buildd')
+
+      if lookupvar('::mta') == 'exim4'
+        unless nodeinfo['heavy_exim']
+          nodeinfo['smarthost'] = 'mailout.debian.org'
+        end
+      end
 
       nodeinfo['misc'] = {}
       fqdn = lookupvar('::fqdn')