File 975b004d-virtlogd-over-logrotate.patch of Package libvirt.11700

commit 975b004d07e472a4f7557f923fed228f3fa02f86
Author: Daniel P. Berrangé <berrange@redhat.com>
Date:   Fri Jul 5 10:32:53 2019 +0100

    logging: ensure virtlogd rollover takes priority over logrotate
    
    The virtlogd config is set to rollover logs every 2 MB.
    
    Normally a logrotate config file is also installed to handle cases where
    virtlogd is disabled. This is set to rollover weekly with no size
    constraint.
    
    As a result logrotate can interfere with virtlogd's, rolling over files
    that virtlogd has already taken care of.
    
    This changes logrotate configs to rollover based on a max size
    constraint of 2 MB + 1 byte. When virtlogd is running the log files will
    never get this large, making logrotate a no-op.
    
    If the user changes the size in virtlogd's config to something larger,
    they are responsible for also changing the logrotate config suitably.
    
    The LXC/libxl drivers don't use virtlogd, but there logrotate config is
    altered to match the QEMU driver config, for the sake of consistency.
    
    Reviewed-by: Jim Fehlig <jfehlig@suse.com>
    Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>

Index: libvirt-5.1.0/src/logging/virtlogd.conf
===================================================================
--- libvirt-5.1.0.orig/src/logging/virtlogd.conf
+++ libvirt-5.1.0/src/logging/virtlogd.conf
@@ -90,6 +90,12 @@
 #admin_max_clients = 5
 
 # Maximum file size before rolling over. Defaults to 2 MB
+#
+# Beware that a logrotate config file might be installed too,
+# to handle cases where virtlogd is disabled. To ensure that
+# the logrotate config is a no-op when virtlogd is running,
+# make sure that max_size here is smaller than size listed
+# in the logrotate config.
 #max_size = 2097152
 
 # Maximum number of backup files to keep. Defaults to 3,
Index: libvirt-5.1.0/src/remote/libvirtd.libxl.logrotate.in
===================================================================
--- libvirt-5.1.0.orig/src/remote/libvirtd.libxl.logrotate.in
+++ libvirt-5.1.0/src/remote/libvirtd.libxl.logrotate.in
@@ -1,5 +1,5 @@
 @localstatedir@/log/libvirt/libxl/*.log {
-        weekly
+        size 2097153
         missingok
         rotate 4
         compress
Index: libvirt-5.1.0/src/remote/libvirtd.lxc.logrotate.in
===================================================================
--- libvirt-5.1.0.orig/src/remote/libvirtd.lxc.logrotate.in
+++ libvirt-5.1.0/src/remote/libvirtd.lxc.logrotate.in
@@ -1,5 +1,5 @@
 @localstatedir@/log/libvirt/lxc/*.log {
-        weekly
+        size 2097153
         missingok
         rotate 4
         compress
Index: libvirt-5.1.0/src/remote/libvirtd.qemu.logrotate.in
===================================================================
--- libvirt-5.1.0.orig/src/remote/libvirtd.qemu.logrotate.in
+++ libvirt-5.1.0/src/remote/libvirtd.qemu.logrotate.in
@@ -1,5 +1,13 @@
 @localstatedir@/log/libvirt/qemu/*.log {
-        weekly
+        # The QEMU driver is configured to use virtlogd by
+        # default, which will perform log rollover.
+        # This logrotate config is still installed for cases
+        # where the user has switched off virtlogd.
+        #
+        # If virtlogd is active, ensure that size here is
+        # larger than 'max_size' in the virtlogd config
+        # so that logrotate becomes a no-op
+        size 2097153
         missingok
         rotate 4
         compress
openSUSE Build Service is sponsored by