From: Kyr Shatskyy Date: Sat, 15 Feb 2020 02:51:46 +0000 (+0100) Subject: qa/tasks/rbd: get rid of cStringIO for py3 X-Git-Tag: v16.0.0~52^2~16 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=7b72097cd1cf93f5445483802344327f1e3da0bc;p=ceph-ci.git qa/tasks/rbd: get rid of cStringIO for py3 Use io.BytesIO and six.ensure_str for py3 compatibility instead of cStringIO.StringIO Signed-off-by: Kyr Shatskyy --- diff --git a/qa/tasks/rbd.py b/qa/tasks/rbd.py index faa094dabeb..c690dcfe582 100644 --- a/qa/tasks/rbd.py +++ b/qa/tasks/rbd.py @@ -7,7 +7,7 @@ import os import tempfile import sys -from cStringIO import StringIO +from io import BytesIO from teuthology.orchestra import run from teuthology import misc as teuthology from teuthology import contextutil @@ -303,12 +303,12 @@ def canonical_path(ctx, role, path): representing the given role. A canonical path contains no . or .. components, and includes no symbolic links. """ - version_fp = StringIO() + version_fp = BytesIO() ctx.cluster.only(role).run( args=[ 'readlink', '-f', path ], stdout=version_fp, ) - canonical_path = version_fp.getvalue().rstrip('\n') + canonical_path = six.ensure_str(version_fp.getvalue()).rstrip('\n') version_fp.close() return canonical_path