Bug 1158456

Summary: glusterfs logrotate config file pollutes global config
Product: [Community] GlusterFS Reporter: Lalatendu Mohanty <lmohanty>
Component: loggingAssignee: bugs <bugs>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: medium    
Version: 3.6.0CC: bugs, gluster-bugs, lmohanty, ndevos, rhbugzilla
Target Milestone: ---Keywords: EasyFix, Patch, Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.6.1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1126802 Environment:
Last Closed: 2014-11-10 15:14:33 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1126802, 1158923    
Bug Blocks:    

Description Lalatendu Mohanty 2014-10-29 12:31:55 UTC
+++ This bug was initially created as a clone of Bug #1126802 +++

+++ This bug was initially created as a clone of Bug #1126801 +++
+++                                                           +++
+++ This bug is for the master branch                         +++
+++                                                           +++

Description of problem:

Glusterfs's logrotate config file in the /etc/logrotate.d directory pollutes logrotate's global config file at /etc/logrotate.conf.  Namely, the file /etc/logrotate.d/glusterfs-georep has global directives in the beginning of the file that reads

"""

rotate 52
missingok

compress
delaycompress
notifempty

"""

When this file is included into logrotate's config file (line 18 of /etc/logrotate.conf, which reads "include /etc/logrotate.d"), it is splashed into the state of logrotate's config reader, "as if it was included inline" (man logrotate).  Therefore, those lines will override whatever corresponding configuration terms already present in /etc/logrotate.conf.

Especially, the "rotate 52" directive will delay the removal of old logs up to a year globally (!!), resulting in a large number of old logs that should have been deleted.

Please move the above directives inside the curly braces so they don't pollute the global config state.


Version-Release number of selected component (if applicable):

glusterfs-3.5.2-1.fc20


How reproducible:

Very.


Steps to Reproduce:

1.  Install glusterfs.
2.  Watch old logs grow;  output of logrotate -d /etc/logrotate.conf showing "52 rotations" not just for glusterfs georeplication logs but almost all other logs.


Actual results:

Many old logs are not removed.  logrotate -d /etc/logrotate.conf output shows "52 rotations" for all logs processed after glusterfs-georep that don't override the "rotate" directive individually.


Expected results:

Should not have interfered with other logs.


Additional info:

The spurious old logs caused by this still needs manual removal after the fix, because logrotate, given "rotate 4" directive, won't even touch beyond the 5th log file.

--- Additional comment from Niels de Vos on 2014-10-27 06:15:20 EDT ---



--- Additional comment from Anand Avati on 2014-10-28 15:18:19 EDT ---

REVIEW: http://review.gluster.org/8994 (logrotate: gluster logrotate config should not be global) posted (#1) for review on master by Lalatendu Mohanty (lmohanty)

Comment 1 Anand Avati 2014-10-29 19:37:38 UTC
REVIEW: http://review.gluster.org/9000 (logrotate: gluster logrotate config should not be global) posted (#1) for review on release-3.6 by Lalatendu Mohanty (lmohanty)

Comment 2 Anand Avati 2014-10-30 08:54:11 UTC
COMMIT: http://review.gluster.org/9000 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit b7a7f54e626023f1a31d89e69270b2a231b71477
Author: Lalatendu Mohanty <lmohanty>
Date:   Thu Oct 30 01:05:59 2014 +0530

    logrotate: gluster logrotate config should not be global
    
    Issue : Previously glusterfs logrotate config file pollutes
    global config. So moved the directives inside the curly braces,
     so they don't pollute the global config state.
    
    Change-Id: I8836893dfcdf457d9c5d766612d687bfce64e2ae
    BUG: 1158456
    "Signed-off-by: Lalatendu Mohanty <lmohanty>"
    "Reviewed-on: http://review.gluster.org/8994"
    "Reviewed-by: Niels de Vos <ndevos>"
    "Tested-by: Gluster Build System <jenkins.com>"
    (cherry picked from commit a5d73daabf6df95bc73b186d92f3e2d1239a6f8a)
    Signed-off-by: Lalatendu Mohanty <lmohanty>
    Reviewed-on: http://review.gluster.org/9000
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 3 Niels de Vos 2014-11-10 15:14:33 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.6.1, please reopen this bug report.

glusterfs-3.6.1 has been announced [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] http://supercolony.gluster.org/pipermail/gluster-users/2014-November/019410.html
[2] http://supercolony.gluster.org/mailman/listinfo/gluster-users