This is cronspamming from every cp* host daily:
Date: Wed, 09 Mar 2016 06:25:06 +0000
From: Cron Daemon <root@cp4015.ulsfo.wmnet>
To: root@cp4015.ulsfo.wmnet
Subject: Cron <root@cp4015> test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
/etc/cron.daily/logrotate:
Usage: /etc/init.d/rsyslog {start|stop|rotate|restart|force-reload|status}
error: error running non-shared postrotate script for /var/log/varnishkafka.log of '/var/log/varnishkafka.log '
run-parts: /etc/cron.daily/logrotate exited with return code 1That's because /etc/logrotate.d/varnishkafka, shipped by the varnishkafka package (not puppet) calls service rsyslog reload which is an action that doesn't exist.
I'm unsure why this started happening all of a sudden — Brandon mentioned some logrotate permissions fix that was deployed recently that activated previously shipped logrotate configs, perhaps it's that.
The right invocation would probably be invoke-rc.d rsyslog rotate. None of the two belongs in the package though, as it creates an implicit dependency between the varnishkafka package and rsyslog which is configuration. The dependency apparently comes from an rsyslog config that we ship via puppet (files/varnish/varnishkafka_rsyslog.conf).
So:
- Roll a new varnishkafka package without this logrotate config
- Move that logrotate config to puppet
- Replace service rsyslog reload with invoke-rc.d rsyslog rotate on that file
- Check for other callsites of service rsyslog reload, e.g. I see modules/rsyslog/templates/receiver_logrotate.erb.conf