summaryrefslogtreecommitdiffstats
path: root/geo-replication/syncdaemon
diff options
context:
space:
mode:
authorKotresh HR <khiremat@redhat.com>2017-01-10 15:39:55 -0500
committerAravinda VK <avishwan@redhat.com>2017-01-18 00:47:01 -0800
commitff5e91a60887d22934fcb5f8a15dd36019d6e09a (patch)
tree639a1d14539481af45916fd2ca6258d9be4315fa /geo-replication/syncdaemon
parent90cb8c49787d41a46e5b86d73bdc515f54aff4c0 (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/syncdaemon')
-rw-r--r--geo-replication/syncdaemon/configinterface.py12
-rw-r--r--geo-replication/syncdaemon/gsyncd.py4
-rw-r--r--geo-replication/syncdaemon/resource.py6
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 +