<%=
nameservers = []
searchpaths = []
-resolvconf = ''
+options = []
-case hoster
- when "darmstadt" then
- case hostname
- when "draghi", "liszt" then
- nameservers << "127.0.0.1"
- end
- nameservers += ["82.195.75.81", "82.195.66.249", "217.198.242.225"]
- searchpaths << "debprivate-darmstadt.debian.org"
- when "ftcollins" then
- case hostname
- when "spohr", "samosa" then
- nameservers << "127.0.0.1"
- end
- nameservers += ["192.25.206.33", "192.25.206.57"]
- searchpaths << "debprivate-ftcollins.debian.org"
- when "grnet" then
- nameservers += ["194.177.210.10", "194.177.210.210"]
- searchpaths << "debprivate-grnet.debian.org"
- when "osousl" then
- nameserver += ["140.211.166.130","140.211.166.131"]
- searchpaths << "debprivate-osuosl.debian.org"
- when "ubcece" then
- nameservers += ["206.12.19.5", "137.82.1.1", "142.103.1.1" ]
- searchpaths << "debprivate-ubc.debian.org"
+if %w{draghi liszt widor spohr}.include?(hostname)
+ nameservers << "127.0.0.1"
end
+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"
-if nameservers.empty?
- raise Puppet::ParseError, "Something has gone wrong writing resolv.conf: probably included for wrong hoster"
+resolvconf = ''
+resolvconf += "search " + searchpaths.join(" ") + "\n"
+
+if defined?(unbound) and unbound and unbound == "true"
+ resolvconf += "nameserver 127.0.0.1\n"
+else
+ if nameservers.empty?
+ #raise Puppet::ParseError, "Something has gone wrong writing resolv.conf. No nameservers to use!"
+ STDERR.puts "Something has gone wrong writing resolv.conf. No nameservers to use - using google's!"
+ nameservers << '8.8.8.8'
+ nameservers << '8.8.4.4'
+ end
+
+ nameservers.each do |ns|
+ resolvconf += "nameserver " + ns + "\n"
+ end
end
-resolvconf += "search " + searchpaths.join(" ") + "\n"
-nameservers.each do |ns|
- resolvconf += "nameserver " + ns + "\n"
+options.each do |opt|
+ resolvconf += "options " + opt + "\n"
end
resolvconf