From 3eb341db27290d01417d7809b198bd17a7f5fa3a Mon Sep 17 00:00:00 2001 From: Kyr Shatskyy Date: Fri, 21 Feb 2020 19:35:15 +0100 Subject: [PATCH] qa/tasks/admin_socket: get rid of cStringIO for py3 Signed-off-by: Kyr Shatskyy --- qa/tasks/admin_socket.py | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/qa/tasks/admin_socket.py b/qa/tasks/admin_socket.py index 54fe1a1ba5dff..c454d3d0c03ee 100644 --- a/qa/tasks/admin_socket.py +++ b/qa/tasks/admin_socket.py @@ -1,13 +1,13 @@ """ Admin Socket task -- used in rados, powercycle, and smoke testing """ -from cStringIO import StringIO import json import logging import os import time +from teuthology.exceptions import CommandFailedError from teuthology.orchestra import run from teuthology import misc as teuthology from teuthology.parallel import parallel @@ -84,31 +84,26 @@ def _socket_command(ctx, remote, socket_path, command, args): :returns: output of command in json format """ - json_fp = StringIO() testdir = teuthology.get_testdir(ctx) max_tries = 120 while True: - proc = remote.run( - args=[ + try: + out = remote.sh([ 'sudo', 'adjust-ulimits', 'ceph-coverage', '{tdir}/archive/coverage'.format(tdir=testdir), 'ceph', '--admin-daemon', socket_path, - ] + command.split(' ') + args, - stdout=json_fp, - check_status=False, - ) - if proc.exitstatus == 0: - break - assert max_tries > 0 - max_tries -= 1 - log.info('ceph cli returned an error, command not registered yet?') - log.info('sleeping and retrying ...') - time.sleep(1) - out = json_fp.getvalue() - json_fp.close() + ] + command.split(' ') + args) + except CommandFailedError: + assert max_tries > 0 + max_tries -= 1 + log.info('ceph cli returned an error, command not registered yet?') + log.info('sleeping and retrying ...') + time.sleep(1) + continue + break log.debug('admin socket command %s returned %s', command, out) return json.loads(out) -- 2.39.5