[VERIFICATION XENIAL #3]

$ logrotate -vdf /etc/logrotate.conf: works as expected

...
renaming /var/log/syslog.7.gz to /var/log/syslog.8.gz (rotatecount 7, logstart 
1, i 7), 
renaming /var/log/syslog.6.gz to /var/log/syslog.7.gz (rotatecount 7, logstart 
1, i 6), 
renaming /var/log/syslog.5.gz to /var/log/syslog.6.gz (rotatecount 7, logstart 
1, i 5), 
renaming /var/log/syslog.4.gz to /var/log/syslog.5.gz (rotatecount 7, logstart 
1, i 4), 
renaming /var/log/syslog.3.gz to /var/log/syslog.4.gz (rotatecount 7, logstart 
1, i 3), 
renaming /var/log/syslog.2.gz to /var/log/syslog.3.gz (rotatecount 7, logstart 
1, i 2), 
renaming /var/log/syslog.1.gz to /var/log/syslog.2.gz (rotatecount 7, logstart 
1, i 1), 
renaming /var/log/syslog.0.gz to /var/log/syslog.1.gz (rotatecount 7, logstart 
1, i 0), 
renaming /var/log/syslog to /var/log/syslog.1
creating new /var/log/syslog mode = 0640 uid = 104 gid = 4
running postrotate script
running script with arg /var/log/syslog: "
                /usr/lib/rsyslog/rsyslog-rotate
"
removing old log /var/log/syslog.8.gz
error: error opening /var/log/syslog.8.gz: No such file or directory
switching euid to 0 and egid to 0


** Tags removed: verification-needed-xenial
** Tags added: verification-done-xenial

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to rsyslog in Ubuntu.
https://bugs.launchpad.net/bugs/1821582

Title:
  Don't rely on SysV init script in logrotate config

Status in rsyslog package in Ubuntu:
  Fix Released
Status in rsyslog source package in Xenial:
  Fix Committed

Bug description:
  [IMPACT]

  Xenial uses systemd as default now, debian salsa 
4a49edf26d405726041bee12a42d6f064145c87e, introduce a shell script,
  taking advantage of systemctl directly if systemd is active by still keeping 
Sysv init script as fallback only.

  While there is no 'real' impact, I think it make total sense for a
  systemd Xenial system, to use the systemctl approach for log rotation

  It has been brought to my attention by a Ubuntu user that:

  "Xenial logrotate is not able to perform full log rotation on a LXC
  container without the 'sys_ptrace' capability[1] using the Sysv
  approach, invoke-rc.d just fails"

  I have created a test pkg for this user, and the same user was able to
  conclude that it was working as expected with the systemd approach
  (systemctl) when sys_ptrace is disable inside the container.

  [1] - lxc config set <CONTAINER_NAME> raw.lxc lxc.cap.drop=sys_ptrace

  [TEST CASE]

  ==============================================
  [1] - On a Xenial active systemd system:
  ==============================================
  Determine the script pick the right decision (systemd approach).
  # bash -vx /usr/lib/rsyslog/rsyslog-rotate

  Run logrotate which contains 'include /etc/logrotate.d', thus will use the 
rsyslog log rotation information, now using '/usr/lib/rsyslog/rsyslog-rotate' 
helper.
  # logrotate -vdf /etc/logrotate.conf

  Check if logs rotation happened in /var/log.
  # ls -altr /var/log

  ==============================================
  [2] - On a Xenial active upstart system:
  ==============================================
  Determine the script pick the right decision (non-systemd approach).
  # bash -vx /usr/lib/rsyslog/rsyslog-rotate

  Run logrotate which contains 'include /etc/logrotate.d', thus will use the 
rsyslog log rotation information, now using '/usr/lib/rsyslog/rsyslog-rotate' 
helper.
  # logrotate -vdf /etc/logrotate.conf

  Check if logs rotation happened in /var/log.
  # ls -altr /var/log

  [POTENTIAL REGRESSION

  * None, this commit introduced a new shell script (rsyslog-rotate)
  which uses systemctl directly if systemd is active (default in Xenial)
  but keeps the original Sysv init script as fallback only. Meaning no
  behaviour change for users who decided not to use systemd on their
  Xenial system.

  * I don't see any reported bug about this new helper for Bionic/Cosmic
  which has it since their released.

  /usr/lib/rsyslog/rsyslog-rotate:

  1) Check if existence of systemd, if yes:
     systemctl kill -s HUP rsyslog.service

  2) Check if existence of systemd, if no:
     invoke-rc.d rsyslog rotate > /dev/null

  [OTHER INFO]

  * Salsa rsyslog repository:
  
https://salsa.debian.org/debian/rsyslog/commit/4a49edf26d405726041bee12a42d6f064145c87e

  * First introduced:
  git describe --contains 4a49edf26d405726041bee12a42d6f064145c87e
  debian/8.27.0-4~1

  * rmadison:
  =>   rsyslog | 8.16.0-1ubuntu3  | xenial
      rsyslog | 8.32.0-1ubuntu4  | bionic
      rsyslog | 8.32.0-1ubuntu5  | cosmic
      rsyslog | 8.32.0-1ubuntu7  | disco

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/rsyslog/+bug/1821582/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to