New patch submitted by Dan Kenigsberg (danken(a)redhat.com)
You can review this change at:
http://gerrit.usersys.redhat.com/773
commit 28df824d113e42b24191bd39033e3fd3adb3e5d9
Author: Dan Kenigsberg <danken(a)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
Change-Id: I6a702e6f54a2c950f850096bdd36949e5947a8fd
diff --git a/vdsm.spec.in b/vdsm.spec.in
index 2465a1f..a84a0d1 100644
--- a/vdsm.spec.in
+++ b/vdsm.spec.in
@@ -172,7 +172,9 @@ then
lconf=/etc/libvirt/libvirtd.conf
qconf=/etc/libvirt/qemu.conf
ldconf=/etc/sysconfig/libvirtd
- sed -i '/# by vdsm$/d' $lconf $qconf $ldconf
+ llogr=/etc/logrotate.d/libvirtd
+
+ sed -i '/# by vdsm$/d' $lconf $qconf $ldconf $llogr
/usr/sbin/semanage boolean -m -S targeted -F /dev/stdin << _EOF
virt_use_nfs=0
@@ -288,6 +290,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..f7ffd47
--- /dev/null
+++ b/vdsm/vdsm-libvirt-logrotate
@@ -0,0 +1,2 @@
+10,25,40,55 * * * * root /usr/sbin/logrotate /etc/logrotate.d/vdsm-libvirt
+
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..1c374cf 100755
--- a/vdsm/vdsmd
+++ b/vdsm/vdsmd
@@ -320,7 +320,24 @@ 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`
+ cat > "$stanza" <<EOF
+/var/log/libvirtd.log { $BY_VDSM
+ rotate 100 $BY_VDSM
+ missingok $BY_VDSM
+ copytruncate $BY_VDSM
+ size 15M $BY_VDSM
+ compress $BY_VDSM
+ compresscmd /usr/bin/xz $BY_VDSM
+ uncompresscmd /usr/bin/unxz $BY_VDSM
+ compressext .xz $BY_VDSM
+} $BY_VDSM
+EOF
+ cat "$llogr" >> "$stanza"
+ mv "$stanza" "$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