X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=modules%2Fresolv%2Ftemplates%2Fresolv.conf.erb;h=2ca70739f6a8c2199e11ad24194bccbd5de85128;hb=d7fb8496f111e456de0a76540ffbb7b7a2be98b0;hp=e8873c88f382f6c095ddc64ddaff80d7fbfe4a50;hpb=be6f9a8aa7f4bc626fd97883de5ec06d0e5b7e65;p=dsa-puppet.git diff --git a/modules/resolv/templates/resolv.conf.erb b/modules/resolv/templates/resolv.conf.erb index e8873c88..2ca70739 100644 --- a/modules/resolv/templates/resolv.conf.erb +++ b/modules/resolv/templates/resolv.conf.erb @@ -3,15 +3,42 @@ ### USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git ### -<%= resolvconf = case hoster - when "ubcece" then "search debprivate-ubc.debian.org debian.org -nameserver 206.12.19.5 -nameserver 137.82.1.1 -nameserver 142.103.1.1 -" +<%= +nameservers = [] +searchpaths = [] +options = [] + +if %w{draghi liszt}.include?(hostname) + nameservers << "127.0.0.1" end -if resolvconf == "" - raise Puppet::ParseError, "resolv.conf is empty" + +nameservers += scope.lookupvar('ns') +searchpaths += scope.lookupvar('site::nodeinfo')['hoster']['searchpaths'] if scope.lookupvar('site::nodeinfo')['hoster']['searchpaths'] +options += scope.lookupvar('site::nodeinfo')['hoster']['resolvoptions'] if scope.lookupvar('site::nodeinfo')['hoster']['resolvoptions'] + +searchpaths << "debian.org" + +resolvconf = '' +resolvconf += "search " + searchpaths.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 + +options.each do |opt| + resolvconf += "options " + opt + "\n" end + resolvconf %>