Skip to content

Commit e3feec2

Browse files
author
Ashley Penney
committed
Merge pull request #80 from apenney/single_template
Merge all the templates together, add a few new features to help with the merge.
2 parents c5408ae + ef93b7e commit e3feec2

19 files changed

+448
-689
lines changed

README.markdown

+25
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,26 @@ This sets the file to write ntp configuration into.
120120

121121
This determines which template puppet should use for the ntp configuration.
122122

123+
####`driftfile`
124+
125+
This sets the location of the driftfile for ntp.
126+
127+
####`keys_controlkey`
128+
129+
Which of the keys is used as the control key.
130+
131+
####`keys_enable`
132+
133+
Should the ntp keys functionality be enabled.
134+
135+
####`keys_file`
136+
137+
Location of the keys file.
138+
139+
####`keys_requestkey`
140+
141+
Which of the keys is used as the request key.
142+
123143
####`package_ensure`
124144

125145
This can be set to 'present' or 'latest' or a specific version to choose the
@@ -135,6 +155,11 @@ This determines if ntp should 'panic' in the event of a very large clock skew.
135155
We set this to false if you're on a virtual machine by default as they don't
136156
do a great job with keeping time.
137157

158+
####`preferred_servers`
159+
160+
List of ntp servers to prefer. Will append prefer for any server in this list
161+
that also appears in the servers list.
162+
138163
####`restrict`
139164

140165
This sets the restrict options in the ntp configuration.

manifests/config.pp

+26-7
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,29 @@
1-
class ntp::config (
2-
$config = $ntp::config,
3-
$config_template = $ntp::config_template,
4-
$panic = $ntp::panic,
5-
$restrict = $ntp::restrict,
6-
$servers = $ntp::servers,
7-
) inherits ntp {
1+
#
2+
class ntp::config {
3+
4+
$config = $ntp::config
5+
$config_template = $ntp::config_template
6+
$driftfile = $ntp::driftfile
7+
$keys_enable = $ntp::keys_enable
8+
$keys_file = $ntp::keys_file
9+
$keys_controlkey = $ntp::keys_controlkey
10+
$keys_requestkey = $ntp::keys_requestkey
11+
$keys_trusted = $ntp::keys_trusted
12+
$panic = $ntp::panic
13+
$preferred_servers = $ntp::preferred_servers
14+
$restrict = $ntp::restrict
15+
$servers = $ntp::servers
16+
17+
if $keys_enable {
18+
$directory = dirname($keys_file)
19+
file { $directory:
20+
ensure => directory,
21+
owner => 0,
22+
group => 0,
23+
mode => '0755',
24+
recurse => true,
25+
}
26+
}
827

928
file { $config:
1029
ensure => file,

manifests/init.pp

+37-12
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,43 @@
11
class ntp (
2-
$autoupdate = $ntp::params::autoupdate,
3-
$config = $ntp::params::config,
4-
$config_template = $ntp::params::config_template,
5-
$package_ensure = $ntp::params::package_ensure,
6-
$package_name = $ntp::params::package_name,
7-
$panic = $ntp::params::panic,
8-
$restrict = $ntp::params::restrict,
9-
$servers = $ntp::params::servers,
10-
$service_enable = $ntp::params::service_enable,
11-
$service_ensure = $ntp::params::service_ensure,
12-
$service_manage = $ntp::params::service_manage,
13-
$service_name = $ntp::params::service_name,
2+
$autoupdate = $ntp::params::autoupdate,
3+
$config = $ntp::params::config,
4+
$config_template = $ntp::params::config_template,
5+
$driftfile = $ntp::params::driftfile,
6+
$keys_enable = $ntp::params::keys_enable,
7+
$keys_file = $ntp::params::keys_file,
8+
$keys_controlkey = $ntp::params::keys_controlkey,
9+
$keys_requestkey = $ntp::params::keys_requestkey,
10+
$keys_trusted = $ntp::params::keys_trusted,
11+
$package_ensure = $ntp::params::package_ensure,
12+
$package_name = $ntp::params::package_name,
13+
$panic = $ntp::params::panic,
14+
$preferred_servers = $ntp::params::preferred_servers,
15+
$restrict = $ntp::params::restrict,
16+
$servers = $ntp::params::servers,
17+
$service_enable = $ntp::params::service_enable,
18+
$service_ensure = $ntp::params::service_ensure,
19+
$service_manage = $ntp::params::service_manage,
20+
$service_name = $ntp::params::service_name,
1421
) inherits ntp::params {
1522

23+
validate_absolute_path($config)
24+
validate_string($config_template)
25+
validate_absolute_path($driftfile)
26+
validate_bool($keys_enable)
27+
validate_re($keys_controlkey, ['^\d+$', ''])
28+
validate_re($keys_requestkey, ['^\d+$', ''])
29+
validate_array($keys_trusted)
30+
validate_string($package_ensure)
31+
validate_array($package_name)
32+
validate_bool($panic)
33+
validate_array($preferred_servers)
34+
validate_bool($restrict)
35+
validate_array($servers)
36+
validate_bool($service_enable)
37+
validate_string($service_ensure)
38+
validate_bool($service_manage)
39+
validate_string($service_name)
40+
1641
if $autoupdate {
1742
notice('autoupdate parameter has been deprecated and replaced with package_ensure. Set this to latest for the same behavior as autoupdate => true.')
1843
}

manifests/install.pp

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
class ntp::install (
2-
$package_ensure = $ntp::package_ensure,
3-
$package_name = $ntp::package_name,
4-
) inherits ntp {
1+
#
2+
class ntp::install {
3+
4+
$package_ensure = $ntp::package_ensure
5+
$package_name = $ntp::package_name
56

67
package { 'ntp':
78
ensure => $package_ensure,

manifests/params.pp

+27-15
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,29 @@
11
class ntp::params {
22

3-
$autoupdate = false
4-
$package_ensure = 'present'
5-
$restrict = true
6-
$service_enable = true
7-
$service_ensure = 'running'
8-
$service_manage = true
3+
$autoupdate = false
4+
$config_template = 'ntp/ntp.conf.erb'
5+
$keys_enable = false
6+
$keys_controlkey = ''
7+
$keys_requestkey = ''
8+
$keys_trusted = []
9+
$package_ensure = 'present'
10+
$preferred_servers = []
11+
$restrict = true
12+
$service_enable = true
13+
$service_ensure = 'running'
14+
$service_manage = true
915

1016
# On virtual machines allow large clock skews.
11-
$panic = $::is_virtual ? {
12-
'true' => false,
17+
$panic = str2bool($::is_virtual) ? {
18+
true => false,
1319
default => true,
1420
}
1521

1622
case $::osfamily {
1723
'Debian': {
1824
$config = '/etc/ntp.conf'
19-
$config_template = 'ntp/ntp.conf.debian.erb'
25+
$keysfile = '/etc/ntp/keys'
26+
$driftfile = '/var/lib/ntp/drift'
2027
$package_name = [ 'ntp' ]
2128
$service_name = 'ntp'
2229
$servers = [
@@ -28,7 +35,8 @@
2835
}
2936
'RedHat': {
3037
$config = '/etc/ntp.conf'
31-
$config_template = 'ntp/ntp.conf.el.erb'
38+
$driftfile = '/var/lib/ntp/drift'
39+
$keysfile = '/etc/ntp/keys'
3240
$package_name = [ 'ntp' ]
3341
$service_name = 'ntpd'
3442
$servers = [
@@ -39,7 +47,8 @@
3947
}
4048
'SuSE': {
4149
$config = '/etc/ntp.conf'
42-
$config_template = 'ntp/ntp.conf.suse.erb'
50+
$driftfile = '/var/lib/ntp/drift/ntp.drift'
51+
$keysfile = '/etc/ntp/keys'
4352
$package_name = [ 'ntp' ]
4453
$service_name = 'ntp'
4554
$servers = [
@@ -51,7 +60,8 @@
5160
}
5261
'FreeBSD': {
5362
$config = '/etc/ntp.conf'
54-
$config_template = 'ntp/ntp.conf.freebsd.erb'
63+
$driftfile = '/var/db/ntpd.drift'
64+
$keysfile = '/etc/ntp/keys'
5565
$package_name = ['net/ntp']
5666
$service_name = 'ntpd'
5767
$servers = [
@@ -63,8 +73,9 @@
6373
}
6474
'Archlinux': {
6575
$config = '/etc/ntp.conf'
66-
$config_template = 'ntp/ntp.conf.archlinux.erb'
67-
$package_name = ['ntp']
76+
$driftfile = '/var/lib/ntp/drift'
77+
$keysfile = '/etc/ntp/keys'
78+
$package_name = [ 'ntp' ]
6879
$service_name = 'ntpd'
6980
$servers = [
7081
'0.pool.ntp.org',
@@ -77,7 +88,8 @@
7788
case $::operatingsystem {
7889
'Gentoo': {
7990
$config = '/etc/ntp.conf'
80-
$config_template = 'ntp/ntp.conf.gentoo.erb'
91+
$driftfile = '/var/lib/ntp/drift'
92+
$keysfile = '/etc/ntp/keys'
8193
$package_name = ['net-misc/ntp']
8294
$service_name = 'ntpd'
8395
$servers = [

manifests/service.pp

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
class ntp::service (
2-
$service_enable = $ntp::service_enable,
3-
$service_ensure = $ntp::service_ensure,
4-
$service_manage = $ntp::service_manage,
5-
$service_name = $ntp::service_name,
6-
) inherits ntp {
1+
#
2+
class ntp::service {
3+
4+
$service_enable = $ntp::service_enable
5+
$service_ensure = $ntp::service_ensure
6+
$service_manage = $ntp::service_manage
7+
$service_name = $ntp::service_name
78

89
if ! ($service_ensure in [ 'running', 'stopped' ]) {
910
fail('service_ensure parameter must be running or stopped')

0 commit comments

Comments
 (0)