diff options
author | Aravinda VK <avishwan@redhat.com> | 2013-09-19 14:24:35 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2013-10-03 21:26:00 -0700 |
commit | 79ba7b3e2ea6e2dc2e720c2cae1e6ae0aeeea392 (patch) | |
tree | 24798543ab6d7f8e503b2dff309293012b51bd6c /glusterfs.spec.in | |
parent | a65d64e89c96b52b9805b63afbbc3e7b67dbc3ad (diff) |
geo-rep: logrotate: Logrotate handling
In existing georep logrotate was implemented by handling SIGSTOP
and SIGCONT, gsyncd was failing to start again after SIGSTOP.
New approach uses WatchedFileHandler in logging, which tracks the
log file changes or logrotate. Reopens the log file if logrotate is
triggered or if same log file is updated from other process.
As per python doc:
http://docs.python.org/2/library/logging.handlers.html:
The WatchedFileHandler class, located in the logging.handlers module,
is a FileHandler which watches the file it is logging to. If the file
changes, it is closed and reopened using the file name.
A file change can happen because of usage of programs such as newsyslog
and logrotate which perform log file rotation. This handler, intended
for use under Unix/Linux, watches the file to see if it has changed
since the last emit. (A file is deemed to have changed if its device
or inode have changed.) If the file has changed, the old file stream
is closed, and the file opened to get a new stream.
Change-Id: I30f65eb1e9778b12943d6e43b60a50344a7885c6
BUG: 1012776
Signed-off-by: Aravinda VK <avishwan@redhat.com>
Reviewed-on: http://review.gluster.org/5968
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Reviewed-by: Harshavardhana <harsha@harshavardhana.net>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'glusterfs.spec.in')
-rw-r--r-- | glusterfs.spec.in | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/glusterfs.spec.in b/glusterfs.spec.in index 8940fdc0fed..c59a159bdc6 100644 --- a/glusterfs.spec.in +++ b/glusterfs.spec.in @@ -545,6 +545,8 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha # geo-rep ghosts %{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/geo-replication touch %{buildroot}%{_sharedstatedir}/glusterd/geo-replication/gsyncd_template.conf +%{__install} -D -p -m 0644 extras/glusterfs-georep-logrotate \ + %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs-georep %endif %if ( 0%{!?_without_syslog:1} ) |