# This class ensures ntp is up'n running and synchronizing with ntp servers. class ntp( $servers = lookup('ntp::servers', undef, undef, '') ) { class { 'ntp::timezone': } case $servers { '': { fail("you need to define ntp::servers for ntp module") } } # 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"], } }