summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAravinda VK <avishwan@redhat.com>2016-12-12 13:06:15 +0530
committerNiels de Vos <ndevos@redhat.com>2017-01-08 02:56:22 -0800
commit84a3d13d723fcfc7a6c194d9f34e031b20554984 (patch)
tree618ef52306307f358e8c665d88e2a948f4e38493
parent8e67e8a74a9a64844cc7ffc0528771fca3321965 (diff)
geo-rep: Fix log-rsync-performance config issue
If log-rsync-performance config is not set, gconf.get_realtime will return None, Added default value as False if config file doesn't have this option set. > BUG: 1393678 > Change-Id: I89016ab480a16179db59913d635d8553beb7e14f > Signed-off-by: Aravinda VK <avishwan@redhat.com> > Reviewed-on: http://review.gluster.org/16102 > Smoke: Gluster Build System <jenkins@build.gluster.org> > Tested-by: Kotresh HR <khiremat@redhat.com> > Reviewed-by: Kotresh HR <khiremat@redhat.com> > NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> > CentOS-regression: Gluster Build System <jenkins@build.gluster.org> BUG: 1402728 Change-Id: I89016ab480a16179db59913d635d8553beb7e14f Signed-off-by: Kotresh HR <khiremat@redhat.com> Reviewed-on: http://review.gluster.org/16340 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: Niels de Vos <ndevos@redhat.com>
-rw-r--r--geo-replication/syncdaemon/configinterface.py.in17
-rw-r--r--geo-replication/syncdaemon/resource.py9
2 files changed, 14 insertions, 12 deletions
diff --git a/geo-replication/syncdaemon/configinterface.py.in b/geo-replication/syncdaemon/configinterface.py.in
index e1cf007a2b8..97afff1dda7 100644
--- a/geo-replication/syncdaemon/configinterface.py.in
+++ b/geo-replication/syncdaemon/configinterface.py.in
@@ -234,7 +234,7 @@ class GConffile(object):
self.config.readfp(fp)
self._normconfig()
- def get_realtime(self, opt):
+ def get_realtime(self, opt, default_value=None):
try:
sres = os.stat(self.path)
except (OSError, IOError):
@@ -248,7 +248,7 @@ class GConffile(object):
sres[ST_INO] != self.ino or self.mtime != sres[ST_MTIME]:
self._load()
- return self.get(opt, printValue=False)
+ return self.get(opt, printValue=False, default_value=default_value)
def section(self, rx=False):
"""get the section name of the section representing .peers
@@ -347,7 +347,7 @@ class GConffile(object):
if self.config.has_section(self.section()):
update_from_sect(self.section(), MultiDict(dct, *self.auxdicts))
- def get(self, opt=None, printValue=True):
+ def get(self, opt=None, printValue=True, default_value=None):
"""print the matching key/value pairs from .config,
or if @opt given, the value for @opt (according to the
logic described in .update_to)
@@ -356,12 +356,13 @@ class GConffile(object):
self.update_to(d, allow_unresolved=True)
if opt:
opt = norm(opt)
- v = d.get(opt)
- if v:
- if printValue:
+ v = d.get(opt, default_value)
+
+ if printValue:
+ if v is not None:
print(v)
- else:
- return v
+ else:
+ return v
else:
for k, v in d.iteritems():
if k == '__name__':
diff --git a/geo-replication/syncdaemon/resource.py b/geo-replication/syncdaemon/resource.py
index 7daf7e49211..ecb94d56c7f 100644
--- a/geo-replication/syncdaemon/resource.py
+++ b/geo-replication/syncdaemon/resource.py
@@ -1003,8 +1003,10 @@ class SlaveRemote(object):
(boolify(gconf.sync_acls) and ['--acls'] or []) + \
['.'] + list(args)
- if boolify(gconf.configinterface.get_realtime(
- "log_rsync_performance")):
+ log_rsync_performance = boolify(gconf.configinterface.get_realtime(
+ "log_rsync_performance", default_value=False))
+
+ if log_rsync_performance:
# use stdout=PIPE only when log_rsync_performance enabled
# Else rsync will write to stdout and nobody is their
# to consume. If PIPE is full rsync hangs.
@@ -1023,8 +1025,7 @@ class SlaveRemote(object):
for errline in stderr.strip().split("\n")[:-1]:
logging.error("SYNC Error(Rsync): %s" % errline)
- if boolify(gconf.configinterface.get_realtime(
- "log_rsync_performance")):
+ if log_rsync_performance:
rsync_msg = []
for line in stdout.split("\n"):
if line.startswith("Number of files:") or \