]> git.donarmstrong.com Git - dsa-puppet.git/commitdiff
Handle the upgrade from ulogd to ulogd2 in jessie and later.
authorPaul Wise <pabs@debian.org>
Thu, 4 Dec 2014 07:43:27 +0000 (15:43 +0800)
committerPaul Wise <pabs@debian.org>
Thu, 4 Dec 2014 07:54:38 +0000 (15:54 +0800)
Use augeas to handle modifying the existing ulogd2 logrotate config.

Remove instead of purge ulogd because it deletes log files on purge.

Remove the puppet installed logrotate config for ulogd.

Eliminates mails like these:

/etc/cron.daily/logrotate:
error: ulogd2:1 duplicate log entry for /var/log/ulog/syslogemu.log

modules/ferm/manifests/init.pp

index 6d2d0c62d946b222b0875c044139ca20a0b28c4d..7115b7c8f9eedf1b1f624cbf635bb3f13f43eb19 100644 (file)
@@ -16,8 +16,18 @@ class ferm {
        package { 'ferm':
                ensure => installed
        }
-       package { 'ulogd':
-               ensure => installed
+       if ($::lsbmajdistrelease >= 8) {
+               package { 'ulogd2':
+                       ensure => installed
+               }
+               package { 'ulogd':
+                       # Remove instead of purge ulogd because it deletes log files on purge.
+                       ensure => absent
+               }
+       } else {
+               package { 'ulogd':
+                       ensure => installed
+               }
        }
 
        service { 'ferm':
@@ -82,10 +92,25 @@ class ferm {
                content => template('ferm/interfaces.conf.erb'),
                notify  => Service['ferm'],
        }
-       file { '/etc/logrotate.d/ulogd':
-               source  => 'puppet:///modules/ferm/logrotate-ulogd',
-               mode    => '0444',
-               require => Package['debian.org'],
+       if ($::lsbmajdistrelease >= 8) {
+               augeas { 'logrotate_ulogd2':
+                       context => '/files/etc/logrotate.d/ulogd2',
+                       changes => [
+                               'set rule/schedule daily',
+                               'set rule/delaycompress delaycompress',
+                               'set rule/rotate 10',
+                               'set rule/ifempty notifempty',
+                       ],
+               }
+               file { '/etc/logrotate.d/ulogd':
+                       ensure  => absent,
+               }
+       } else {
+               file { '/etc/logrotate.d/ulogd':
+                       source  => 'puppet:///modules/ferm/logrotate-ulogd',
+                       mode    => '0444',
+                       require => Package['debian.org'],
+               }
        }
 
 }