]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/resolv/templates/resolv.conf.erb
Move hosterinfo into nodeinfo
[dsa-puppet.git] / modules / resolv / templates / resolv.conf.erb
index 4f7cd63da7937e41a8ce778a34f8325a274aedc8..f4257666e32a6e904f4572185fe6c491d2f187b6 100644 (file)
@@ -6,14 +6,15 @@
 <%=
 nameservers = []
 searchpaths = []
-resolvconf  = ''
+options = []
 
 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']
+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"
 
@@ -21,9 +22,19 @@ if nameservers.empty?
   raise Puppet::ParseError, "Something has gone wrong writing resolv.conf: probably included for wrong hoster"
 end
 
+resolvconf  = ''
 resolvconf += "search " + searchpaths.join(" ") + "\n"
-nameservers.each do |ns|
-  resolvconf += "nameserver " + ns + "\n"
+
+if runs_local_resolver
+  resolvconf += "nameserver 127.0.0.1\n"
+else
+  nameservers.each do |ns|
+    resolvconf += "nameserver " + ns + "\n"
+  end
+end
+
+options.each do |opt|
+  resolvconf += "options " + opt + "\n"
 end
 
 resolvconf