[NEW PATCH] BZ#725240 logrotate libvirtd.log often (via gerrit-bot)

Dan Kenigsberg danken at redhat.com
Tue Aug 2 10:39:33 UTC 2011


New patch submitted by Dan Kenigsberg (danken at redhat.com)

You can review this change at: http://gerrit.usersys.redhat.com/773

commit 4b9e2d3961c907455b890a42cfba837085d51755
Author: Dan Kenigsberg <danken at redhat.com>
Date:   Mon Aug 1 23:05:39 2011 +0300

    BZ#725240 logrotate libvirtd.log often
    
    Edit libvirt's /etc/logrotate.d/libvirtd and call it every 15 minutes so
    that /var/log/libvirtd.log is rotated and compressed more often
    
    v2:
    - use correct path to /etc/logrotate.d/libvirtd in cont.d rule
    - keep /etc/logrotate.d/libvirtd mode
    - use full path to coreutils
    
    v3:
    - use valid comments in /etc/logrotate.d/libvirtd
    
    Change-Id: I6a702e6f54a2c950f850096bdd36949e5947a8fd

diff --git a/vdsm.spec.in b/vdsm.spec.in
index 2465a1f..17318b3 100644
--- a/vdsm.spec.in
+++ b/vdsm.spec.in
@@ -160,7 +160,7 @@ then
 
         tmp_sudoers=$(mktemp)
         cp -a /etc/sudoers $tmp_sudoers
-        /bin/sed -i -e "/# vdsm/,/# end vdsm/d" $tmp_sudoers
+        /bin/sed -i -e "/# vdsm/,/# end vdsm/d" $tmp_sudoers /etc/logrotate.d/libvirtd
         if outerr=$(/usr/sbin/visudo -c -f $tmp_sudoers 2>&1) ; then
             /bin/cp -a $tmp_sudoers /etc/sudoers
         else
@@ -172,6 +172,7 @@ then
         lconf=/etc/libvirt/libvirtd.conf
         qconf=/etc/libvirt/qemu.conf
         ldconf=/etc/sysconfig/libvirtd
+
         sed -i '/# by vdsm$/d' $lconf $qconf $ldconf
 
         /usr/sbin/semanage boolean -m -S targeted -F /dev/stdin  << _EOF
@@ -288,6 +289,7 @@ machines without running real guests.
 %config(noreplace) %{_sysconfdir}/rwtab.d/vdsm
 %attr (440,root,root) %{_sysconfdir}/sudoers.d/50_vdsm
 %{_sysconfdir}/cron.hourly/vdsm-logrotate
+%{_sysconfdir}/cron.d/vdsm-libvirt-logrotate
 %{_datadir}/%{vdsm_name}/guestIF.py*
 %{_datadir}/%{vdsm_name}/logUtils.py*
 %{_datadir}/%{vdsm_name}/dsaversion.py*
diff --git a/vdsm/Makefile b/vdsm/Makefile
index c0f2ad3..15088d0 100644
--- a/vdsm/Makefile
+++ b/vdsm/Makefile
@@ -112,9 +112,11 @@ install: all sudoers.vdsm vdsm.conf.sample
 	cp sudoers.vdsm $(PREFIX)/etc/sudoers.d/50_vdsm
 	mkdir -p $(PREFIX)/etc/logrotate.d
 	mkdir -p $(PREFIX)/etc/cron.hourly
+	mkdir -p $(PREFIX)/etc/cron.d
 	mkdir -p $(PREFIX)$(SOSPLUGINDIR)
 	cp -p vdsm-logrotate.conf $(PREFIX)/etc/logrotate.d/vdsm
 	cp -p vdsm-logrotate $(PREFIX)/etc/cron.hourly
+	cp -p vdsm-libvirt-logrotate $(PREFIX)/etc/cron.d
 	cp -p vdsm-sosplugin.py $(PREFIX)$(SOSPLUGINDIR)/vdsm.py
 	mkdir -p $(PREFIX)$(MANDIR)/man8
 	cp -p vdsmd.8 $(PREFIX)$(MANDIR)/man8/
diff --git a/vdsm/vdsm-libvirt-logrotate b/vdsm/vdsm-libvirt-logrotate
new file mode 100644
index 0000000..5e70cde
--- /dev/null
+++ b/vdsm/vdsm-libvirt-logrotate
@@ -0,0 +1,2 @@
+10,25,40,55 * * * * root /usr/sbin/logrotate /etc/logrotate.d/libvirtd
+
diff --git a/vdsm/vdsm-logrotate.conf b/vdsm/vdsm-logrotate.conf
index 12e16ad..64bef03 100644
--- a/vdsm/vdsm-logrotate.conf
+++ b/vdsm/vdsm-logrotate.conf
@@ -20,13 +20,3 @@
 /var/log/core/*.dump.xz {
     maxage 7
 }
-/var/log/libvirtd*.log {
-    rotate 100
-    missingok
-    copytruncate
-    size 15M
-    compress
-    compresscmd /usr/bin/xz
-    uncompresscmd /usr/bin/unxz
-    compressext .xz
-}
diff --git a/vdsm/vdsmd b/vdsm/vdsmd
index 0591cb2..f5ecc53 100755
--- a/vdsm/vdsmd
+++ b/vdsm/vdsmd
@@ -320,7 +320,28 @@ configure_libvirt()
     local lnetwork=/etc/libvirt/qemu/networks/autostart/default.xml
     rm -f $lnetwork
 
-    ovirt_store_config $lconf $qconf $ldconf
+    local llogr=/etc/logrotate.d/libvirtd
+    local stanza=`mktemp`
+    /bin/cat > "$stanza" <<EOF
+# vdsm
+/var/log/libvirtd.log {
+    rotate 100
+    missingok
+    copytruncate
+    size 15M
+    compress
+    compresscmd /usr/bin/xz
+    uncompresscmd /usr/bin/unxz
+    compressext .xz
+}
+# end vdsm
+EOF
+    /bin/cat "$llogr" >> "$stanza"
+    local oldmod=`/usr/bin/stat --format=%a "$llogr"`
+    /bin/mv "$stanza" "$llogr"
+    /bin/chmod "$oldmod" "$llogr"
+
+    ovirt_store_config "$lconf" "$qconf" "$ldconf" "$llogr"
 
     # vdsm makes extensive use of nfs-exported images
     /usr/sbin/semanage  boolean -m -S targeted -F /dev/stdin  << _EOF




More information about the vdsm-patches mailing list