From: Josh Durgin Date: Fri, 19 Jul 2013 22:16:16 +0000 (-0700) Subject: rgw: move common rgwadmin function to a new utility file X-Git-Tag: 1.1.0~2054 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6d2434b48f368932eda783eefa047e524ee54b46;p=teuthology.git rgw: move common rgwadmin function to a new utility file Signed-off-by: Josh Durgin --- diff --git a/teuthology/task/radosgw-admin.py b/teuthology/task/radosgw-admin.py index 2bff6108f..a9a0593b3 100644 --- a/teuthology/task/radosgw-admin.py +++ b/teuthology/task/radosgw-admin.py @@ -15,6 +15,7 @@ import boto.s3.acl import time from teuthology import misc as teuthology +from teuthology.task.util.rgw import rgwadmin log = logging.getLogger(__name__) @@ -25,38 +26,6 @@ def successful_ops(out): entry = summary[0] return entry['total']['successful_ops'] -def rgwadmin(ctx, client, cmd, stdin=StringIO()): - log.info('radosgw-admin: %s' % cmd) - testdir = teuthology.get_testdir(ctx) - pre = [ - '{tdir}/adjust-ulimits'.format(tdir=testdir), - 'ceph-coverage'.format(tdir=testdir), - '{tdir}/archive/coverage'.format(tdir=testdir), - 'radosgw-admin'.format(tdir=testdir), - '--log-to-stderr', - '--format', 'json', - ] - pre.extend(cmd) - (remote,) = ctx.cluster.only(client).remotes.iterkeys() - proc = remote.run( - args=pre, - check_status=False, - stdout=StringIO(), - stderr=StringIO(), - stdin=stdin, - ) - r = proc.exitstatus - out = proc.stdout.getvalue() - j = None - if not r and out != '': - try: - j = json.loads(out) - log.info(' json result: %s' % j) - except ValueError: - j = out - log.info(' raw result: %s' % j) - return (r, j) - def task(ctx, config): """ Test radosgw-admin functionality against a running rgw instance. diff --git a/teuthology/task/rgw.py b/teuthology/task/rgw.py index c1d3d784a..7296de3b6 100644 --- a/teuthology/task/rgw.py +++ b/teuthology/task/rgw.py @@ -7,42 +7,12 @@ from cStringIO import StringIO from teuthology import misc as teuthology from teuthology import contextutil +from teuthology.task_util.rgw import rgwadmin from ..orchestra import run import ceph_manager log = logging.getLogger(__name__) -# this was lifted from radosgw-admin-rest. -def rgwadmin(ctx, remote, cmd): - log.info('radosgw-admin: %s' % cmd) - testdir = teuthology.get_testdir(ctx) - pre = [ - '{tdir}/adjust-ulimits'.format(tdir=testdir), - 'ceph-coverage'.format(tdir=testdir), - '{tdir}/archive/coverage'.format(tdir=testdir), - 'radosgw-admin'.format(tdir=testdir), - '--log-to-stderr', - '--format', 'json', - ] - pre.extend(cmd) - proc = remote.run( - args=pre, - check_status=False, - stdout=StringIO(), - stderr=StringIO(), - ) - r = proc.exitstatus - out = proc.stdout.getvalue() - j = None - if not r and out != '': - try: - j = json.loads(out) - log.info(' json result: %s' % j) - except ValueError: - j = out - log.info(' raw result: %s' % j) - return (r, j) - # this was lifted from lost_unfound.py def rados(ctx, remote, cmd): testdir = teuthology.get_testdir(ctx) diff --git a/teuthology/task_util/__init__.py b/teuthology/task_util/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/teuthology/task_util/rgw.py b/teuthology/task_util/rgw.py new file mode 100644 index 000000000..5a41f7e41 --- /dev/null +++ b/teuthology/task_util/rgw.py @@ -0,0 +1,39 @@ +from cStringIO import StringIO +import logging +import json + +from teuthology import misc as teuthology + +log = logging.getLogger(__name__) + +def rgwadmin(ctx, client, cmd, stdin=StringIO()): + log.info('radosgw-admin: %s' % cmd) + testdir = teuthology.get_testdir(ctx) + pre = [ + '{tdir}/adjust-ulimits'.format(tdir=testdir), + 'ceph-coverage'.format(tdir=testdir), + '{tdir}/archive/coverage'.format(tdir=testdir), + 'radosgw-admin'.format(tdir=testdir), + '--log-to-stderr', + '--format', 'json', + ] + pre.extend(cmd) + (remote,) = ctx.cluster.only(client).remotes.iterkeys() + proc = remote.run( + args=pre, + check_status=False, + stdout=StringIO(), + stderr=StringIO(), + stdin=stdin, + ) + r = proc.exitstatus + out = proc.stdout.getvalue() + j = None + if not r and out != '': + try: + j = json.loads(out) + log.info(' json result: %s' % j) + except ValueError: + j = out + log.info(' raw result: %s' % j) + return (r, j)