From e6d35855e0208e7fc54a085316fd11a1dba13d18 Mon Sep 17 00:00:00 2001 From: Ashley Penney Date: Fri, 5 Jul 2013 17:56:01 -0400 Subject: Refactor out the main ntp class to break it up into 4 smaller ones. --- manifests/init.pp | 146 ++++++------------------------------------------------ 1 file changed, 15 insertions(+), 131 deletions(-) (limited to 'manifests') diff --git a/manifests/init.pp b/manifests/init.pp index af1f8d5..845bbb9 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -45,138 +45,22 @@ # } # # [Remember: No empty lines between comments and class definition] -class ntp($servers='UNSET', - $ensure='running', - $enable=true, - $restrict=true, - $config_template=undef, - $autoupdate=false -) { +class ntp( + $autoupdate = $ntp::params::autoupdate, + $config = $ntp::params::config, + $config_template = $ntp::params::config_template, + $enable_service = $ntp::params::enable_service, + $ensure_service = $ntp::params::ensure_service, + $package_name = $ntp::params::package_name, + $restrict = $ntp::params::restrict, + $servers = $ntp::params::servers, + $service_name = $ntp::params::service_name, +) inherits ntp::params { - if ! ($ensure in [ 'running', 'stopped' ]) { - fail('ensure parameter must be running or stopped') - } + include '::ntp::install' + include '::ntp::config' + include '::ntp::service' - if $autoupdate == true { - $package_ensure = latest - } elsif $autoupdate == false { - $package_ensure = present - } else { - fail('autoupdate parameter must be true or false') - } + Class['::ntp::install'] -> Class['::ntp::config'] ~> Class['::ntp::service'] - case $::osfamily { - Debian: { - $supported = true - $pkg_name = [ 'ntp' ] - $svc_name = 'ntp' - $config = '/etc/ntp.conf' - $config_tpl = 'ntp.conf.debian.erb' - if ($servers == 'UNSET') { - $servers_real = [ '0.debian.pool.ntp.org iburst', - '1.debian.pool.ntp.org iburst', - '2.debian.pool.ntp.org iburst', - '3.debian.pool.ntp.org iburst', ] - } else { - $servers_real = $servers - } - } - RedHat: { - $supported = true - $pkg_name = [ 'ntp' ] - $svc_name = 'ntpd' - $config = '/etc/ntp.conf' - $config_tpl = 'ntp.conf.el.erb' - if ($servers == 'UNSET') { - $servers_real = [ '0.centos.pool.ntp.org', - '1.centos.pool.ntp.org', - '2.centos.pool.ntp.org', ] - } else { - $servers_real = $servers - } - } - SuSE: { - $supported = true - $pkg_name = [ 'ntp' ] - $svc_name = 'ntp' - $config = '/etc/ntp.conf' - $config_tpl = 'ntp.conf.suse.erb' - if ($servers == 'UNSET') { - $servers_real = [ '0.opensuse.pool.ntp.org', - '1.opensuse.pool.ntp.org', - '2.opensuse.pool.ntp.org', - '3.opensuse.pool.ntp.org', ] - } else { - $servers_real = $servers - } - } - FreeBSD: { - $supported = true - $pkg_name = ['net/ntp'] - $svc_name = 'ntpd' - $config = '/etc/ntp.conf' - $config_tpl = 'ntp.conf.freebsd.erb' - if ($servers == 'UNSET') { - $servers_real = [ '0.freebsd.pool.ntp.org iburst maxpoll 9', - '1.freebsd.pool.ntp.org iburst maxpoll 9', - '2.freebsd.pool.ntp.org iburst maxpoll 9', - '3.freebsd.pool.ntp.org iburst maxpoll 9', ] - } else { - $servers_real = $servers - } - } - - Linux: { - if ($::operatingsystem == 'Archlinux') { - $supported = true - $pkg_name = ['ntp'] - $svc_name = 'ntpd' - $config = '/etc/ntp.conf' - $config_tpl = 'ntp.conf.archlinux.erb' - - if ($servers == 'UNSET') { - $servers_real = [ '0.pool.ntp.org', - '1.pool.ntp.org', - '2.pool.ntp.org' ] - } else { - $servers_real = $servers - } - } else { - fail("The ${module_name} module is not supported on an ${::operatingsystem} system") - } - } - - default: { - fail("The ${module_name} module is not supported on ${::osfamily} based systems") - } - } - - if ($config_template == undef) { - $template_real = "${module_name}/${config_tpl}" - } else { - $template_real = $config_template - } - - package { 'ntp': - ensure => $package_ensure, - name => $pkg_name, - } - - file { $config: - ensure => file, - owner => 0, - group => 0, - mode => '0644', - content => template($template_real), - require => Package[$pkg_name], - } - - service { 'ntp': - ensure => $ensure, - enable => $enable, - name => $svc_name, - hasstatus => true, - hasrestart => true, - subscribe => [ Package[$pkg_name], File[$config] ], - } } -- cgit v1.2.3