Merged in oherrala/puppet (pull request #21)

This commit is contained in:
Timo Mäkinen 2012-12-05 12:24:55 +02:00
commit 0dc654e4ca

View file

@ -271,7 +271,13 @@ define dns::zone($role = "master", $master = "", $slaves = [], $forwarders = [],
"default": { $view = "" } "default": { $view = "" }
default: { $view = regsubst(dirname($tmpname), '^(.*)', '\1/') } default: { $view = regsubst(dirname($tmpname), '^(.*)', '\1/') }
} }
$zone = basename($tmpname) if $name =~ /\.in-addr\.arpa$/ {
$zonefile = basename($tmpname)
$zone = regsubst($zonefile, '-', '/')
} else {
$zonefile = basename($tmpname)
$zone = $zonefile
}
case $role { case $role {
"master": { "master": {
@ -337,7 +343,7 @@ define dns::zone($role = "master", $master = "", $slaves = [], $forwarders = [],
mode => "0750", mode => "0750",
owner => "root", owner => "root",
group => $dns::server::group, group => $dns::server::group,
before => File["${dns::server::chroot}${dns::server::confdir}/${view}zone.${zone}"], before => File["${dns::server::chroot}${dns::server::confdir}/${view}zone.${zonefile}"],
} }
} }
} }
@ -353,14 +359,14 @@ define dns::zone($role = "master", $master = "", $slaves = [], $forwarders = [],
owner => "root", owner => "root",
group => $dns::server::group, group => $dns::server::group,
before => $role ? { before => $role ? {
"master" => File["${dns::server::chroot}${zonedir}db.${zone}"], "master" => File["${dns::server::chroot}${zonedir}db.${zonefile}"],
default => undef, default => undef,
}, },
} }
} }
} }
file { "${dns::server::chroot}${dns::server::confdir}/${view}zone.${zone}": file { "${dns::server::chroot}${dns::server::confdir}/${view}zone.${zonefile}":
ensure => present, ensure => present,
content => template("dns/zone.$role.erb"), content => template("dns/zone.$role.erb"),
mode => "0640", mode => "0640",
@ -375,7 +381,7 @@ define dns::zone($role = "master", $master = "", $slaves = [], $forwarders = [],
if $role == "master" and $zone != "." { if $role == "master" and $zone != "." {
if $source != "AUTO" { if $source != "AUTO" {
file { "${dns::server::chroot}${zonedir}db.${zone}": file { "${dns::server::chroot}${zonedir}db.${zonefile}":
ensure => present, ensure => present,
source => $source, source => $source,
mode => "0640", mode => "0640",
@ -388,7 +394,7 @@ define dns::zone($role = "master", $master = "", $slaves = [], $forwarders = [],
notify => Exec["generate-named-conf"], notify => Exec["generate-named-conf"],
} }
} else { } else {
file { "${dns::server::chroot}${zonedir}/db.${zone}": file { "${dns::server::chroot}${zonedir}/db.${zonefile}":
ensure => present, ensure => present,
content => template("dns/db.erb"), content => template("dns/db.erb"),
mode => "0640", mode => "0640",
@ -401,7 +407,7 @@ define dns::zone($role = "master", $master = "", $slaves = [], $forwarders = [],
notify => Exec["named-checkconf"], notify => Exec["named-checkconf"],
} }
file { "${dns::server::chroot}${zonedir}/db.${zone}-dynamic": file { "${dns::server::chroot}${zonedir}/db.${zonefile}-dynamic":
ensure => present, ensure => present,
mode => "0640", mode => "0640",
owner => "root", owner => "root",
@ -412,7 +418,7 @@ define dns::zone($role = "master", $master = "", $slaves = [], $forwarders = [],
}, },
notify => Exec["named-checkconf"], notify => Exec["named-checkconf"],
} }
file { "${dns::server::chroot}${zonedir}/db.${zone}-dynamic.d": file { "${dns::server::chroot}${zonedir}/db.${zonefile}-dynamic.d":
ensure => directory, ensure => directory,
mode => "0640", mode => "0640",
owner => "root", owner => "root",
@ -428,11 +434,11 @@ define dns::zone($role = "master", $master = "", $slaves = [], $forwarders = [],
notify => Service["named"], notify => Service["named"],
} }
file { "${dns::server::chroot}${zonedir}/db.${zone}-static": file { "${dns::server::chroot}${zonedir}/db.${zonefile}-static":
ensure => present, ensure => present,
source => [ source => [
"puppet:///files/dns/db.${zone}-static.${homename}", "puppet:///files/dns/db.${zonefile}-static.${homename}",
"puppet:///files/dns/db.${zone}-static", "puppet:///files/dns/db.${zonefile}-static",
"puppet:///modules/dns/empty", "puppet:///modules/dns/empty",
], ],
mode => "0640", mode => "0640",
@ -445,9 +451,9 @@ define dns::zone($role = "master", $master = "", $slaves = [], $forwarders = [],
notify => Exec["named-checkconf"], notify => Exec["named-checkconf"],
} }
exec { "update-db.${zone}-dynamic": exec { "update-db.${zonefile}-dynamic":
path => "/bin:/usr/bin:/sbin:/usr/sbin", path => "/bin:/usr/bin:/sbin:/usr/sbin",
command => "/bin/sh -c 'find db.${zone}-dynamic.d -name rr.\\* | xargs cat > db.${zone}-dynamic'", command => "/bin/sh -c 'find db.${zonefile}-dynamic.d -name rr.\\* | xargs cat > db.${zonefile}-dynamic'",
cwd => "${dns::server::chroot}${zonedir}", cwd => "${dns::server::chroot}${zonedir}",
user => "root", user => "root",
refreshonly => true, refreshonly => true,
@ -455,16 +461,16 @@ define dns::zone($role = "master", $master = "", $slaves = [], $forwarders = [],
} }
Dns::Node::Record <<| tag == $zone |>> { Dns::Node::Record <<| tag == $zone |>> {
dbdir => "${dns::server::chroot}${zonedir}/db.${zone}-dynamic.d", dbdir => "${dns::server::chroot}${zonedir}/db.${zonefile}-dynamic.d",
notify => Exec["update-db.${zone}-dynamic"], notify => Exec["update-db.${zonefile}-dynamic"],
require => File["${dns::server::chroot}${zonedir}/db.${zone}-dynamic", require => File["${dns::server::chroot}${zonedir}/db.${zonefile}-dynamic",
"${dns::server::chroot}${zonedir}/db.${zone}-dynamic.d"], "${dns::server::chroot}${zonedir}/db.${zonefile}-dynamic.d"],
} }
Dns::Node::Record::Reverse <<| tag == $zone |>> { Dns::Node::Record::Reverse <<| tag == $zone |>> {
dbdir => "${dns::server::chroot}${zonedir}/db.${zone}-dynamic.d", dbdir => "${dns::server::chroot}${zonedir}/db.${zonefile}-dynamic.d",
notify => Exec["update-db.${zone}-dynamic"], notify => Exec["update-db.${zonefile}-dynamic"],
require => File["${dns::server::chroot}${zonedir}/db.${zone}-dynamic", require => File["${dns::server::chroot}${zonedir}/db.${zonefile}-dynamic",
"${dns::server::chroot}${zonedir}/db.${zone}-dynamic.d"], "${dns::server::chroot}${zonedir}/db.${zonefile}-dynamic.d"],
} }
} }
} }