Skip to content

Commit 706ef96

Browse files
committed
add default values for openSUSE / SLES
- create files/suse_default-zones, as the default zones are inside in /etc/named.conf in suse distros - do not create /var/log/bind on suse - do not create default_logging in suse - move the default_logging inside the distro defaults in params.pp - add empty default_logging hash in suse - do not create logging block in named.conf.options template if @logging is empty
1 parent 1866ba2 commit 706ef96

File tree

4 files changed

+104
-21
lines changed

4 files changed

+104
-21
lines changed

files/suse_default-zones

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Managed by Puppet
2+
# Extracted from SUSE's default /etc/named.conf
3+
4+
# The following zone definitions don't need any modification. The first one
5+
# is the definition of the root name servers. The second one defines
6+
# localhost while the third defines the reverse lookup for localhost.
7+
8+
zone "." in {
9+
type hint;
10+
file "root.hint";
11+
};
12+
13+
zone "localhost" in {
14+
type master;
15+
file "localhost.zone";
16+
};
17+
18+
zone "0.0.127.in-addr.arpa" in {
19+
type master;
20+
file "127.0.0.zone";
21+
};
22+
23+
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
24+
type master;
25+
file "127.0.0.zone";
26+
};
27+

manifests/config.pp

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -92,12 +92,24 @@
9292
mode => '0775',
9393
}
9494

95-
file {'/var/log/named':
96-
ensure => directory,
97-
group => 'adm',
98-
mode => '0750',
99-
owner => $bind::params::bind_user,
100-
seltype => 'named_log_t',
95+
if $::osfamily == 'Debian' or $::osfamily == 'RedHat' {
96+
file {'/var/log/named':
97+
ensure => directory,
98+
group => 'adm',
99+
mode => '0750',
100+
owner => $bind::params::bind_user,
101+
seltype => 'named_log_t',
102+
}
103+
}
104+
105+
if $::osfamily == 'Suse' {
106+
file {'/etc/named.d/default-zones':
107+
ensure => file,
108+
owner => 'root',
109+
group => 'root',
110+
mode => '0644',
111+
source => 'puppet:///modules/bind/suse_default-zones',
112+
}
101113
}
102114

103115
$opts = {

manifests/params.pp

Lines changed: 57 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,6 @@
44
# Please refer to Class['bind'].
55

66
class bind::params {
7-
$default_logging = {
8-
'channels' => {
9-
'simple_log' => {
10-
'file' => '"/var/log/named/bind.log"',
11-
'severity' => 'warning',
12-
'print-time' => 'yes',
13-
'print-severity' => 'yes',
14-
'print-category' => 'yes',
15-
},
16-
},
17-
'categories' => {
18-
'default' => 'simple_log',
19-
},
20-
}
21-
227
if $::osfamily == 'Debian' {
238
$package_name = 'bind9'
249
$service_name = 'bind9'
@@ -44,6 +29,20 @@
4429
'auth-nxdomain' => 'no',
4530
'listen-on-v6' => ['any'],
4631
}
32+
$default_logging = {
33+
'channels' => {
34+
'simple_log' => {
35+
'file' => '"/var/log/named/bind.log"',
36+
'severity' => 'warning',
37+
'print-time' => 'yes',
38+
'print-severity' => 'yes',
39+
'print-category' => 'yes',
40+
},
41+
},
42+
'categories' => {
43+
'default' => 'simple_log',
44+
},
45+
}
4746
if $bind::chroot {
4847
fail('Chroot mode is not yet implemented for Debian in this module.')
4948
}
@@ -94,6 +93,49 @@
9493
'session-keyfile' => '"/run/named/session.key"',
9594
'statistics-file' => '"/var/named/data/named_stats.txt"',
9695
}
96+
$default_logging = {
97+
'channels' => {
98+
'simple_log' => {
99+
'file' => '"/var/log/named/bind.log"',
100+
'severity' => 'warning',
101+
'print-time' => 'yes',
102+
'print-severity' => 'yes',
103+
'print-category' => 'yes',
104+
},
105+
},
106+
'categories' => {
107+
'default' => 'simple_log',
108+
},
109+
}
110+
}
111+
elsif $::osfamily == 'Suse' {
112+
$package_name = 'bind'
113+
$service_name = 'named'
114+
$named_local_name = 'named.conf.include'
115+
$bind_user = 'named'
116+
$bind_group = 'named'
117+
$service_pattern = undef
118+
$service_restart = "/usr/bin/systemctl reload ${service_name}"
119+
$service_has_status = true
120+
$config_base_dir = '/etc'
121+
$named_conf_name = 'named.conf'
122+
$zones_directory = '/etc/named.d/zones'
123+
$pri_directory = '/etc/named.d/pri'
124+
$keys_directory = '/etc/named.d/keys'
125+
$dynamic_directory = '/etc/named.d/dyn'
126+
$acls_directory = '/etc/named.d/acls'
127+
$views_directory = '/etc/named.d/views'
128+
$default_zones_file = 'named.d/default-zones'
129+
$default_config = {
130+
'directory' => '"/var/lib/named"',
131+
'managed-keys-directory' => '"/var/lib/named/dyn"',
132+
'dump-file' => '"/var/log/named_dump.db"',
133+
'statistics-file' => '"/var/log/named.stats"',
134+
'listen-on-v6' => ['any'],
135+
'notify' => 'no',
136+
'disable-empty-zone' => '"1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA"',
137+
}
138+
$default_logging = {}
97139
}
98140
else {
99141
fail "Unknown ${::operatingsystem}"

templates/named.conf.options.erb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ options {
1616
<%end -%>
1717
};
1818

19+
<%- unless @logging.empty? -%>
1920
logging {
2021
<% @logging['channels'].sort.each do |key, hash| -%>
2122
channel <%=key%> {
@@ -40,3 +41,4 @@ logging {
4041
};
4142
<%end -%>
4243
};
44+
<%end -%>

0 commit comments

Comments
 (0)