diff options
author | Kotresh HR <khiremat@redhat.com> | 2017-01-10 15:39:55 -0500 |
---|---|---|
committer | Aravinda VK <avishwan@redhat.com> | 2017-01-18 00:47:01 -0800 |
commit | ff5e91a60887d22934fcb5f8a15dd36019d6e09a (patch) | |
tree | 639a1d14539481af45916fd2ca6258d9be4315fa /geo-replication | |
parent | 90cb8c49787d41a46e5b86d73bdc515f54aff4c0 (diff) |
geo-rep: Separate slave mount logs for each connection
Geo-rep worker mounts the slave volume on the slave
node. If multiple worker connects to same slave node,
all workers share the same mount log file. This
is very difficult to debug as logs are cluttered from
different mounts. Hence creating separate mount log
file for each connection from worker. Each connection
from worker is identified uniquely using 'mastervol uuid',
'master host', 'master brickpath', 'salve vol'. The log
file name will be combination of the above.
Change-Id: I67871dc8e8ea5864e2ad55e2a82063be0138bf0c
BUG: 1412689
Signed-off-by: Kotresh HR <khiremat@redhat.com>
Reviewed-on: http://review.gluster.org/16384
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Aravinda VK <avishwan@redhat.com>
Diffstat (limited to 'geo-replication')
-rw-r--r-- | geo-replication/syncdaemon/configinterface.py | 12 | ||||
-rw-r--r-- | geo-replication/syncdaemon/gsyncd.py | 4 | ||||
-rw-r--r-- | geo-replication/syncdaemon/resource.py | 6 |
3 files changed, 21 insertions, 1 deletions
diff --git a/geo-replication/syncdaemon/configinterface.py b/geo-replication/syncdaemon/configinterface.py index b5935dfdc14..50e7aedeba6 100644 --- a/geo-replication/syncdaemon/configinterface.py +++ b/geo-replication/syncdaemon/configinterface.py @@ -78,6 +78,18 @@ CONFIGS = ( "${slavevol}/${eSlave}.status", GLUSTERD_WORKDIR + "/geo-replication/${mastervol}_${remotehost}_" "${slavevol}/monitor.status"), + ("peersrx .", + "log_file", + "${iprefix}/log/glusterfs/geo-replication-slaves/${session_owner}:${eSlave}.log", + "${iprefix}/log/glusterfs/geo-replication-slaves/${session_owner}:${local_node}${local_id}.${slavevol}.log"), + ("peersrx .", + "log_file_mbr", + "${iprefix}/log/glusterfs/geo-replication-slaves/mbr/${session_owner}:${eSlave}.log", + "${iprefix}/log/glusterfs/geo-replication-slaves/mbr/${session_owner}:${local_node}${local_id}.${slavevol}.log"), + ("peersrx .", + "gluster_log_file", + "${iprefix}/log/glusterfs/geo-replication-slaves/${session_owner}:${eSlave}.gluster.log", + "${iprefix}/log/glusterfs/geo-replication-slaves/${session_owner}:${local_node}${local_id}.${slavevol}.gluster.log") ) diff --git a/geo-replication/syncdaemon/gsyncd.py b/geo-replication/syncdaemon/gsyncd.py index 1cc303526be..1fd475dfba1 100644 --- a/geo-replication/syncdaemon/gsyncd.py +++ b/geo-replication/syncdaemon/gsyncd.py @@ -414,7 +414,8 @@ def main_i(): if (o.callback in (store_abs, 'store_true', None) and o.get_opt_string() not in ('--version', '--help'))] remote_tunables = ['listen', 'go_daemon', 'timeout', - 'session_owner', 'config_file', 'use_rsync_xattrs'] + 'session_owner', 'config_file', 'use_rsync_xattrs', + 'local_id', 'local_node'] rq_remote_tunables = {'listen': True} # precedence for sources of values: 1) commandline, 2) cfg file, 3) @@ -542,6 +543,7 @@ def main_i(): namedict[name + 'vol'] = x.volume if name == 'remote': namedict['remotehost'] = x.remotehost + if not 'config_file' in rconf: rconf['config_file'] = TMPL_CONFIG_FILE diff --git a/geo-replication/syncdaemon/resource.py b/geo-replication/syncdaemon/resource.py index cbd96bbb77e..977496318da 100644 --- a/geo-replication/syncdaemon/resource.py +++ b/geo-replication/syncdaemon/resource.py @@ -1006,6 +1006,12 @@ class SlaveRemote(object): so = getattr(gconf, 'session_owner', None) if so: extra_opts += ['--session-owner', so] + li = getattr(gconf, 'local_id', None) + if li: + extra_opts += ['--local-id', li] + ln = getattr(gconf, 'local_node', None) + if ln: + extra_opts += ['--local-node', ln] if boolify(gconf.use_rsync_xattrs): extra_opts.append('--use-rsync-xattrs') po = Popen(rargs + gconf.remote_gsyncd.split() + extra_opts + |