[OpenAFS] Proposed changes for server log rotation

Michael Meffie mmeffie@sinenomine.net
Thu, 02 Dec 2010 13:50:36 -0500


I've been been recently working on changes to improve how the server
logs are handled to make it more straightforward to use commonly
used tools for log rotation (like logrotate) out of the box. I'd
like to solicit some comments on the subject.

Currently, the when doing file-based logging, the servers create a
new log file on each restart. The current log is renamed to a file
with a extension of .old. The existing .old file is overwritten. In
older versions, by default, the server processes were restarted
weekly, so this made for a rudimentary log rotation. (There is no
check on size or time on the .old file when the server restarts, so
one annoying outcome is you can lose log information in the case a
server process is restarted or crashes back to back.)

I propose in some future release of openafs this behavior be
deprecated and, by default, the server would simply append to the
already existing log file on startup. Also, each server would handle
the HUP signal to (at least) reopen the log file when it is rotated
by an external tool such as logrotate. A .pid file for each server
process would be created to allow the log rotate tool to signal the
server processes to reopen log files after rotating the log files.

The old behavior of renaming the logs at startup, deleting the
existing .old file, would be available as a run-time option. Sites
would be able to set this option as a command line switch for the
server programs, and set bosserver to do weekly restarts (which, by
the way, is no longer the default in the upcoming 1.6.x series).

Any comments or feedback are welcome.