X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fresolv%2Ftemplates%2Fresolv.conf.erb;h=2e1968b639785d625a38b1cd0e45ffbf58e5ad7d;hb=103e56b48752f77fd66edd1824d82946570ca033;hp=fb0288e5f1ec0a63c5b4adfc88c7f8fb9dc747b9;hpb=710901c5637ad206f4ef4bfec4df8e3d3dfa667d;p=mirror%2Fdsa-puppet.git diff --git a/modules/resolv/templates/resolv.conf.erb b/modules/resolv/templates/resolv.conf.erb index fb0288e5f..2e1968b63 100644 --- a/modules/resolv/templates/resolv.conf.erb +++ b/modules/resolv/templates/resolv.conf.erb @@ -6,43 +6,38 @@ <%= nameservers = [] searchpaths = [] +options = [] resolvconf = '' -case hosterinfo["name"] - 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 "dgi" then - case hostname - when "widor" then - nameserver << "127.0.0.1" - end - nameservers += ["195.49.152.215", "195.49.152.213", "195.49.152.214"] - 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" +if %w{draghi}.include?(hostname) + nameservers << "127.0.0.1" end -nameservers += hosterinfo['nameservers'] if hosterinfo['nameservers'] -searchpaths += hosterinfo['searchpaths'] if hosterinfo['searchpaths'] +nameservers += scope.lookupvar('ns') +searchpaths += scope.lookupvar('sp') +options += scope.lookupvar('opts') searchpaths << "debian.org" -if nameservers.empty? - raise Puppet::ParseError, "Something has gone wrong writing resolv.conf: probably included for wrong hoster" +resolvconf += "search " + searchpaths.to_a.flatten.join(" ") + "\n" + +if has_variable?('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!" + scope.function_warning(["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.to_a.flatten.each do |ns| + resolvconf += "nameserver " + ns + "\n" + end end -resolvconf += "search " + searchpaths.join(" ") + "\n" -nameservers.each do |ns| - resolvconf += "nameserver " + ns + "\n" +options.to_a.flatten.each do |opt| + resolvconf += "options " + opt + "\n" end resolvconf