logrotate and upstart are screwing this up somehow. The issue might have been a one-off, but let's recheck in a day or two.
Description
Details
Subject | Repo | Branch | Lines +/- | |
---|---|---|---|---|
Upstart logrotate: Use copytruncate instead of delaycompress. | operations/puppet | production | +6 -4 |
Event Timeline
There doesn't seem to be a good way to win this one. I already added 'delaycompress' to the logrotate script to prevent cronspam (https://gerrit.wikimedia.org/r/#/c/313558/) but now upstart just writes to the .1 file forever.
In theory it would only write to .1 until it was gzipped, but since the .log file doesn't exist anymore, logrotate skips over nova-api.log so it never gzips. We're left with a .1 file growing without bound that is never rotated.
The next step would be to add 'kill -HUP' to the post-rotate section, but nova-api doesn't respond to a -hup. So I guess we need to do a full-blown 'service restart'?
Customizing the logrotate script per service is ugly since currently the upstart logrotate is installed in Base.
Change 341808 had a related patch set uploaded (by Andrew Bogott):
[operations/puppet] Upstart logrotate: Use copytruncate instead of delaycompress.
Change 341808 merged by Andrew Bogott:
[operations/puppet] Upstart logrotate: Use copytruncate instead of delaycompress.