Bugzilla (bugzilla.redhat.com) will be under maintenance for infrastructure upgrades and will not be available on July 31st between 12:30 AM - 05:30 AM UTC. We appreciate your understanding and patience. You can follow status.redhat.com for details.
Bug 1266210 - /etc/logrotate.d/glusterfs improperly modifies global logrotate settings
Summary: /etc/logrotate.d/glusterfs improperly modifies global logrotate settings
Keywords:
Status: CLOSED DUPLICATE of bug 1171865
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: glusterfs
Version: 6.7
Hardware: Unspecified
OS: Unspecified
urgent
urgent
Target Milestone: rc
: ---
Assignee: Bala.FA
QA Contact: Sudhir D
URL:
Whiteboard:
Depends On:
Blocks: 1266214
TreeView+ depends on / blocked
 
Reported: 2015-09-24 19:13 UTC by Ryan Sawhill
Modified: 2015-11-23 02:59 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1266214 (view as bug list)
Environment:
Last Closed: 2015-09-24 20:13:51 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Ryan Sawhill 2015-09-24 19:13:08 UTC
Description of problem:

glusterfs provides /etc/logrotate.d/glusterfs which configures logrotate to rotate /var/log/glusterfs/*.log and /var/log/glusterfs/bricks/*.log files.

Unfortunately it has six directives which are improperly unbounded by brackets.

  [rsaw logrotate.d]$ cat glusterfs
  # perform the log rotate every week
  weekly
  # keep the backup of 52 weeks
  rotate 52
  missingok

  # compress the logs, but from the .2 onwards
  compress
  delaycompress
  notifempty

  # Rotate client logs
  /var/log/glusterfs/*.log {
    sharedscripts
    postrotate
    /usr/bin/killall -HUP glusterfs > /dev/null 2>&1 || true
    /usr/bin/killall -HUP glusterd > /dev/null 2>&1 || true
    endscript
  }

  # Rotate server logs
  /var/log/glusterfs/bricks/*.log {
    sharedscripts
    postrotate
    /usr/bin/killall -HUP glusterfsd > /dev/null 2>&1 || true
    endscript
  }

To be clear, the above modifies the global logrotate config, MAKING IT SO THAT ALL OTHER LOG FILES ON THE SYSTEM will be rotated weekly, compressed, and kept for 52 weeks.


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

I checked the latest version available in standard repos: glusterfs-3.6.0.54-1.el6


How reproducible:

100%


Steps to Reproduce:

1. Install glusterfs package
2. Open /etc/logrotate.d/glusterfs
3. Ponder.


Expected results:

The file could instead look like this.

  # Rotate client & server logs
  /var/log/glusterfs/*.log
  /var/log/glusterfs/bricks/*.log
  {
    # perform the log rotate every week
    weekly
    # keep the backup of 52 weeks
    rotate 52
    missingok
    # compress the logs, but from the .2 onwards
    compress
    delaycompress
    notifempty
    sharedscripts
    postrotate
    /usr/bin/killall -HUP glusterfs > /dev/null 2>&1 || true
    /usr/bin/killall -HUP glusterd > /dev/null 2>&1 || true
    /usr/bin/killall -HUP glusterfsd > /dev/null 2>&1 || true
    endscript
  }

# Rotate server logs
/var/log/glusterfs/bricks/*.log {
  sharedscripts
  postrotate
  endscript
}


Additional info:

I noticed this by looking at an strace of logrotate and seeing "(52 rotations)" for EVERY pattern. E.g.,

  write(2, "\nrotating pattern: /var/log/cron\n/var/log/maillog\n/var/log/messages\n/var/log/secure\n/var/log/spooler\n ", 102)
  write(2, "weekly ", 7)
  write(2, "(52 rotations)\n", 15)

Of course the above was on a system where the above pattern of files was managed by /etc/logrotate.d/syslog which had no customizations and thus that "52" there should have instead said "7" since /etc/logrotate.conf was also default.

Comment 1 Ryan Sawhill 2015-09-24 19:18:37 UTC
Ah. Made a small mistake in my previous comment:

The file could instead look like this.

  # Rotate client & server logs
  /var/log/glusterfs/*.log
  /var/log/glusterfs/bricks/*.log
  {
    # perform the log rotate every week
    weekly
    # keep the backup of 52 weeks
    rotate 52
    missingok
    # compress the logs, but from the .2 onwards
    compress
    delaycompress
    notifempty
    sharedscripts
    postrotate
    /usr/bin/killall -HUP glusterfs > /dev/null 2>&1 || true
    /usr/bin/killall -HUP glusterd > /dev/null 2>&1 || true
    /usr/bin/killall -HUP glusterfsd > /dev/null 2>&1 || true
    endscript
  }

Comment 2 Ryan Sawhill 2015-09-24 20:13:51 UTC

*** This bug has been marked as a duplicate of bug 1171865 ***


Note You need to log in before you can comment on or make changes to this bug.