- nodeinfo['hoster'] = function_whohosts(nodeinfo['ldap']['ipHostNumber'], "/etc/puppet/modules/debian-org/misc/hoster.yaml")
- raise Puppet::ParseError, "#{nodeinfo['ldap']['purpose']}"
- nodeinfo['buildd'] = nodeinfo['ldap']['purpose'].include?('buildd')
+ nodeinfo['hoster'] = function_whohosts([nodeinfo['ldap']['ipHostNumber']])
+ nodeinfo['timeserver'] = (nodeinfo['ldap']['purpose'].respond_to?('include?') && nodeinfo['ldap']['purpose'].include?('timeserver'))
+ nodeinfo['ganeti'] = (nodeinfo['ldap']['purpose'].respond_to?('include?') && nodeinfo['ldap']['purpose'].include?('ganeti/kvm host'))
+
+ if lookupvar('::mta') == 'exim4'
+ unless nodeinfo['heavy_exim']
+ nodeinfo['smarthost'] = 'mailout.debian.org'
+ end
+ elsif lookupvar('::mta') == 'postfix'
+ unless nodeinfo['heavy_postfix']
+ nodeinfo['smarthost'] = 'mailout.debian.org'
+ end
+ end