mirror of
https://github.com/ceph/ceph
synced 2025-01-19 17:41:39 +00:00
qa/tasks/admin_socket: get rid of cStringIO for py3
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
This commit is contained in:
parent
145ba3e100
commit
3eb341db27
@ -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)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user