diff --git a/qa/tasks/ceph_manager.py b/qa/tasks/ceph_manager.py index aea091f65cf..68f1c84d877 100644 --- a/qa/tasks/ceph_manager.py +++ b/qa/tasks/ceph_manager.py @@ -306,7 +306,8 @@ class OSDThrasher(Thrasher): ]) if proc.exitstatus == 0: break - elif proc.exitstatus == 1 and proc.stderr == "OSD has the store locked": + elif (proc.exitstatus == 1 and + six.ensure_str(proc.stderr.getvalue()) == "OSD has the store locked"): continue else: raise Exception("ceph-objectstore-tool: " @@ -418,7 +419,7 @@ class OSDThrasher(Thrasher): ]) if proc.exitstatus == 1: bogosity = "The OSD you are using is older than the exported PG" - if bogosity in proc.stderr.getvalue(): + if bogosity in six.ensure_str(proc.stderr.getvalue()): self.log("OSD older than exported PG" "...ignored") elif proc.exitstatus == 10: @@ -453,8 +454,10 @@ class OSDThrasher(Thrasher): '--journal-path', JPATH.format(id=imp_osd), ]) + " --op apply-layout-settings --pool " + pool).format(id=osd) - output = imp_remote.sh(cmd, wait=True, check_status=False) - if 'Couldn\'t find pool' in output: + proc = imp_remote.run(args=cmd, + wait=True, check_status=False, + stderr=BytesIO) + if 'Couldn\'t find pool' in six.ensure_str(proc.stderr.getvalue()): continue if proc.exitstatus: raise Exception("ceph-objectstore-tool apply-layout-settings"