diff --git a/manifests/init.pp b/manifests/init.pp index da8ddca..fd94adf 100755 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -23,6 +23,7 @@ $service_name = 'USE_DEFAULTS', $config_file = 'USE_DEFAULTS', $driftfile = 'USE_DEFAULTS', + $ntp_key_enable = 'USE_DEFAULTS', $service_running = true, $service_hasstatus = true, $service_hasrestart = true, @@ -105,6 +106,7 @@ $default_service_name = 'ntp' $default_config_file = '/etc/ntp.conf' $default_driftfile = '/var/lib/ntp/ntp.drift' + $default_ntp_key_enable = true # Verified that Ubuntu does not use /etc/ntp/step-tickers by default. if $::operatingsystem == 'Ubuntu' { @@ -122,6 +124,7 @@ $default_config_file = '/etc/ntp.conf' $default_driftfile = '/var/lib/ntp/ntp.drift' $step_tickers_enable = true + $default_ntp_key_enable = true } 'suse': { $default_package_noop = false @@ -130,7 +133,8 @@ $default_service_name = 'ntp' $default_config_file = '/etc/ntp.conf' $default_driftfile = '/var/lib/ntp/ntp.drift' - $step_tickers_enable = true + $step_tickers_enable = false + $default_ntp_key_enable = false case $::lsbmajdistrelease { '9','10': { @@ -147,7 +151,7 @@ 'solaris': { case $::kernelrelease { '5.9','5.10': { - $default_package_name = [ 'SUNWntp4r', 'SUNWntp4u' ] + $default_package_name = [ 'SUNWntpr', 'SUNWntpu' ] } '5.11': { $default_package_name = [ 'network/ntp' ] @@ -159,10 +163,11 @@ $default_package_noop = true $default_package_source = '/var/spool/pkg' $default_package_adminfile = '/var/sadm/install/admin/puppet-ntp' - $default_service_name = 'ntp4' + $default_service_name = 'ntp' $default_config_file = '/etc/inet/ntp.conf' $default_driftfile = '/var/ntp/ntp.drift' $step_tickers_enable = false + $default_ntp_key_enable = true } default: { fail("The ntp module is supported by OS Families Debian, Redhat, Suse, and Solaris. Your operatingsystem, ${::operatingsystem}, is part of the osfamily, ${::osfamily}") @@ -235,6 +240,12 @@ $step_tickers_ensure_real = $step_tickers_ensure } + if $ntp_key_enable == 'USE_DEFAULTS' { + $ntp_key_enable_real = $default_ntp_key_enable + } else { + $ntp_key_enable_real = $ntp_key_enable + } + # validate $my_enable_stats - must be true or false case $my_enable_stats { true,false: { @@ -253,7 +264,7 @@ owner => 'root', group => 'root', mode => '0644', - source => 'puppet:///files/ntp/admin_file', + content => template('ntp/admin_file.erb'), } } diff --git a/spec/classes/init_spec.rb b/spec/classes/init_spec.rb index 019db74..dddd638 100644 --- a/spec/classes/init_spec.rb +++ b/spec/classes/init_spec.rb @@ -194,7 +194,7 @@ it { should contain_service('ntp_service').with({ 'ensure' => 'running', - 'name' => 'ntp4', + 'name' => 'ntp', 'enable' => 'true', }) } @@ -234,11 +234,8 @@ it { should contain_file('step-tickers').with({ - 'ensure' => 'present', + 'ensure' => 'absent', 'path' => '/etc/ntp/step-tickers', - 'owner' => 'root', - 'group' => 'root', - 'mode' => '0644', }) should contain_file('ntp_conf').with_content(/server 0.us.pool.ntp.org\nserver 1.us.pool.ntp.org\nserver 2.us.pool.ntp.org/) } @@ -286,11 +283,8 @@ it { should contain_file('step-tickers').with({ - 'ensure' => 'present', + 'ensure' => 'absent', 'path' => '/etc/ntp/step-tickers', - 'owner' => 'root', - 'group' => 'root', - 'mode' => '0644', }) should contain_file('ntp_conf').with_content(/server 0.us.pool.ntp.org\nserver 1.us.pool.ntp.org\nserver 2.us.pool.ntp.org/) } @@ -338,11 +332,8 @@ it { should contain_file('step-tickers').with({ - 'ensure' => 'present', + 'ensure' => 'absent', 'path' => '/etc/ntp/step-tickers', - 'owner' => 'root', - 'group' => 'root', - 'mode' => '0644', }) should contain_file('ntp_conf').with_content(/server 0.us.pool.ntp.org\nserver 1.us.pool.ntp.org\nserver 2.us.pool.ntp.org/) } diff --git a/templates/admin_file.erb b/templates/admin_file.erb new file mode 100644 index 0000000..52b9ea3 --- /dev/null +++ b/templates/admin_file.erb @@ -0,0 +1,14 @@ +instance=overwrite +partial=nocheck +runlevel=nocheck +idepend=nocheck +rdepend=nocheck +space=nocheck +setuid=nocheck +conflict=nocheck +action=nocheck +networktimeout=60 +networkretries=3 +authentication=quit +keystore=/var/sadm/security +basedir=default diff --git a/templates/ntp.conf.erb b/templates/ntp.conf.erb index 6c4cb11..ed6d2a4 100755 --- a/templates/ntp.conf.erb +++ b/templates/ntp.conf.erb @@ -71,7 +71,17 @@ fudge 127.127.1.0 stratum <%= @fudge_stratum %> # Key file containing the keys and key identifiers used when operating # with symmetric key cryptography. + +<% if @ntp_key_enable_real == 'true' -%> +<% if @operatingsystem !~ /SLE[DS]/ %> +# ntp keys are enabled keys /etc/ntp/keys +<% else %> +# ntp keydir keyword in ntp.conf causes an error, modification is necessary +# enable ntp_key in SuSE when errors have been fixed. +keys /etc/ntp.keys +<% end %> +<% end -%> # Specify the key identifiers which are trusted. #trustedkey 4 8 42