Changed slave zone handling from dns module.

This commit is contained in:
Timo Mkinen 2012-03-22 12:27:10 +02:00
parent 4cb660dcaf
commit 9ab2bf1bfd
2 changed files with 12 additions and 8 deletions

View file

@ -183,13 +183,16 @@ class dns::server {
# $role:
# The role {master, slave} of this host.
# $master:
# IP address and FQDN or hostname of the DNS master for this zone.
# IP address of DNS master for this zone if role is slave.
# IP address and FQDN of DNS master for this zone if running as
# master and using autogenerated zone.
# $slaves:
# IP addresess and host names of the DNS slaves for this zone.
# Required only when using autogenrated zones.
# $source:
# Source file to use for zone. Defaults to auto.
#
define dns::zone($role = "master", $master = [], $slaves = [], $source = "AUTO") {
define dns::zone($role = "master", $master = "", $slaves = [], $source = "AUTO") {
$zone = $name
case $role {
@ -207,6 +210,9 @@ define dns::zone($role = "master", $master = [], $slaves = [], $source = "AUTO")
}
}
"slave": {
if $master == "" {
fail("No master defined for dns::zone '${name}'")
}
case $operatingsystem {
"openbsd": {
$zonedir = "/slave"

View file

@ -1,12 +1,10 @@
zone "<%= zone %>" {
type slave;
<% if zone.match(/\//) %>
<% if zone.match(/\//) %>
file "<%= zonedir %>/db.<%= zone.sub(/\//, '-') %>";
<% else %>
<% else -%>
file "<%= zonedir %>/db.<%= zone %>";
<% end -%>
<% master.each_pair do |k, v| -%>
masters { <%= v['ip'] %>; };
<% end -%>
<% end -%>
masters { <%= master %>; };
allow-transfer { none; };
};