diff options
author | Kotresh HR <khiremat@redhat.com> | 2018-09-24 21:18:30 +0530 |
---|---|---|
committer | Shyamsundar Ranganathan <srangana@redhat.com> | 2018-10-05 14:22:54 +0000 |
commit | 1330456911f4e0606d9ebd103151917a160e2623 (patch) | |
tree | 0ac73ea6d0b263a0dcec91b3039ad5cda066377b /geo-replication/syncdaemon/syncdutils.py | |
parent | 3acb6955594402835dea8e309f202a9fc9e38ae0 (diff) |
georep: python3 compatibility (Popen)
The file objects for python3 by default is opened
in binary mode where as in python2 it's opened
as text by default.
The geo-rep code parses the output of Popen assuming
it as text, hence used the 'universal_newlines' flag
which provides backward compatibility for the same.
Change-Id: I371a03b6348af9666164cb2e8b93d47475431ad9
Updates: #411
Signed-off-by: Kotresh HR <khiremat@redhat.com>
(cherry picked from commit 65aed1070cc2e44959cf3a0fbfde635de7e03103)
Diffstat (limited to 'geo-replication/syncdaemon/syncdutils.py')
-rw-r--r-- | geo-replication/syncdaemon/syncdutils.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/geo-replication/syncdaemon/syncdutils.py b/geo-replication/syncdaemon/syncdutils.py index d13c1c82853..cbb169c6c96 100644 --- a/geo-replication/syncdaemon/syncdutils.py +++ b/geo-replication/syncdaemon/syncdutils.py @@ -263,7 +263,8 @@ def finalize(*args, **kwargs): umount_cmd = rconf.mbr_umount_cmd + [rconf.mount_point, 'lazy'] else: umount_cmd = ['umount', '-l', rconf.mount_point] - p0 = subprocess.Popen(umount_cmd, stderr=subprocess.PIPE) + p0 = subprocess.Popen(umount_cmd, stderr=subprocess.PIPE, + universal_newlines=True) _, errdata = p0.communicate() if p0.returncode == 0: try: @@ -638,7 +639,8 @@ def unshare_propagation_supported(): unshare_mnt_propagation = False p = subprocess.Popen(["unshare", "--help"], stderr=subprocess.PIPE, - stdout=subprocess.PIPE) + stdout=subprocess.PIPE, + universal_newlines=True) out, err = p.communicate() if p.returncode == 0: if "propagation" in out: @@ -655,7 +657,8 @@ def get_rsync_version(rsync_cmd): rsync_version = "0" p = subprocess.Popen([rsync_cmd, "--version"], stderr=subprocess.PIPE, - stdout=subprocess.PIPE) + stdout=subprocess.PIPE, + universal_newlines=True) out, err = p.communicate() if p.returncode == 0: rsync_version = out.split(" ", 4)[3] @@ -858,7 +861,7 @@ class Volinfo(object): def __init__(self, vol, host='localhost', prelude=[]): po = Popen(prelude + ['gluster', '--xml', '--remote-host=' + host, 'volume', 'info', vol], - stdout=PIPE, stderr=PIPE) + stdout=PIPE, stderr=PIPE, universal_newlines=True) vix = po.stdout.read() po.wait() po.terminate_geterr() |