summaryrefslogtreecommitdiff
path: root/manifests/init.pp
blob: cd745d347c67edcb51eea3d62d90ecf527382466 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# This class ensures ntp is up'n running and synchronizing with ntp servers.

class timezone {

  # the needed packages
  package { "tzdata": ensure => installed, }

  # adjusts timezone to brasilian time!
  file { "/etc/localtime":
    ensure  => "/usr/share/zoneinfo/${ntp_timezone}",
    require => Package["tzdata"],
  }

}

class ntp inherits timezone {
  # the needed packages
  package { "ntp": ensure  => installed, }

  # ntp service
  service { "ntp":
    enable     => true,
    ensure     => running,
    hasrestart => true,
    require    => [ Package["ntp"], File["/etc/ntp.drift"], File["/etc/ntp.conf"] ],
  }

  # the /etc/ntp.drift file contains the latest estimate of clock frequency
  # error.
  file { "/etc/ntp.drift":
    owner  => "root",
    group  => "root",
    mode   => 0644,
    ensure => present,
  }

  # ntp configuration file
  file { "/etc/ntp.conf":
    content => template('ntp/ntp.conf.erb'),
    owner   => "root",
    group   => "root",
    mode    => 0644,
    ensure  => present,
    notify  => Service["ntp"],
  }

}

class ntpdate inherits timezone {

  # TODO: add logrotate rule to /var/log/ntpdate.log

  # the needed packages
  package { "ntpdate":
    ensure => present,
  }

  # adjust time using ntpdate
  cron { "ntpdate":
    command  => "/usr/sbin/ntpdate -t 5 ${ntp_pool} >> /var/log/ntpdate.log",
    user     => root,
    hour     => "*/1",
    minute   => "10",
    ensure   => present,
    require  => Package["ntpdate"],
  }

  # ensure ntp service is stopped
  service { "ntp":
    enable     => false,
    ensure     => false,
  }

}