From 5a6e5607069975b226fdd22af4e39d0e866daf04 Mon Sep 17 00:00:00 2001 From: Josh Durgin Date: Tue, 30 Apr 2013 16:49:04 -0700 Subject: [PATCH] rgw tests: remove users after each test These should all be cleanup up at some point. They're almost all the same code. Signed-off-by: Josh Durgin --- teuthology/task/s3readwrite.py | 22 +++++++++++++++++++--- teuthology/task/s3roundtrip.py | 20 ++++++++++++++++++-- teuthology/task/s3tests.py | 21 +++++++++++++++++++-- teuthology/task/swift.py | 22 +++++++++++++++++++--- 4 files changed, 75 insertions(+), 10 deletions(-) diff --git a/teuthology/task/s3readwrite.py b/teuthology/task/s3readwrite.py index f44c343f7c0b0..79bf537a44738 100644 --- a/teuthology/task/s3readwrite.py +++ b/teuthology/task/s3readwrite.py @@ -54,6 +54,7 @@ def create_users(ctx, config): assert isinstance(config, dict) log.info('Creating rgw users...') testdir = teuthology.get_testdir(ctx) + users = {'s3': 'foo'} for client in config['clients']: s3tests_conf = config['s3tests_conf'][client] s3tests_conf.setdefault('readwrite', {}) @@ -66,7 +67,7 @@ def create_users(ctx, config): rwconf['files'].setdefault('num', 10) rwconf['files'].setdefault('size', 2000) rwconf['files'].setdefault('stddev', 500) - for section, user in [('s3', 'foo')]: + for section, user in users.iteritems(): _config_user(s3tests_conf, section, '{user}.{client}'.format(user=user, client=client)) ctx.cluster.only(client).run( args=[ @@ -82,8 +83,23 @@ def create_users(ctx, config): '--email', s3tests_conf[section]['email'], ], ) - yield - + try: + yield + finally: + for client in config['clients']: + for user in users.itervalues(): + uid = '{user}.{client}'.format(user=user, client=client) + ctx.cluster.only(client).run( + args=[ + '{tdir}/enable-coredump'.format(tdir=testdir), + 'ceph-coverage', + '{tdir}/archive/coverage'.format(tdir=testdir), + 'radosgw-admin', + 'user', 'rm', + '--uid', uid, + '--purge-data', + ], + ) @contextlib.contextmanager def configure(ctx, config): diff --git a/teuthology/task/s3roundtrip.py b/teuthology/task/s3roundtrip.py index 64995498d3139..5065e5db0b708 100644 --- a/teuthology/task/s3roundtrip.py +++ b/teuthology/task/s3roundtrip.py @@ -54,6 +54,7 @@ def create_users(ctx, config): assert isinstance(config, dict) log.info('Creating rgw users...') testdir = teuthology.get_testdir(ctx) + users = {'s3': 'foo'} for client in config['clients']: s3tests_conf = config['s3tests_conf'][client] s3tests_conf.setdefault('roundtrip', {}) @@ -82,8 +83,23 @@ def create_users(ctx, config): '--email', s3tests_conf[section]['email'], ], ) - yield - + try: + yield + finally: + for client in config['clients']: + for user in users.itervalues(): + uid = '{user}.{client}'.format(user=user, client=client) + ctx.cluster.only(client).run( + args=[ + '{tdir}/enable-coredump'.format(tdir=testdir), + 'ceph-coverage', + '{tdir}/archive/coverage'.format(tdir=testdir), + 'radosgw-admin', + 'user', 'rm', + '--uid', uid, + '--purge-data', + ], + ) @contextlib.contextmanager def configure(ctx, config): diff --git a/teuthology/task/s3tests.py b/teuthology/task/s3tests.py index 3bae160481bec..cda6557a95d83 100644 --- a/teuthology/task/s3tests.py +++ b/teuthology/task/s3tests.py @@ -68,11 +68,12 @@ def do_create_users(ctx, config): assert isinstance(config, dict) log.info('Creating rgw users...') testdir = teuthology.get_testdir(ctx) + users = {'s3 main': 'foo', 's3 alt': 'bar'} for client in config['clients']: s3tests_conf = config['s3tests_conf'][client] s3tests_conf.setdefault('fixtures', {}) s3tests_conf['fixtures'].setdefault('bucket prefix', 'test-' + client + '-{random}-') - for section, user in [('s3 main', 'foo'), ('s3 alt', 'bar')]: + for section, user in users.iteritems(): _config_user(s3tests_conf, section, '{user}.{client}'.format(user=user, client=client)) ctx.cluster.only(client).run( args=[ @@ -88,7 +89,23 @@ def do_create_users(ctx, config): '--email', s3tests_conf[section]['email'], ], ) - yield + try: + yield + finally: + for client in config['clients']: + for user in users.itervalues(): + uid = '{user}.{client}'.format(user=user, client=client) + ctx.cluster.only(client).run( + args=[ + '{tdir}/enable-coredump'.format(tdir=testdir), + 'ceph-coverage', + '{tdir}/archive/coverage'.format(tdir=testdir), + 'radosgw-admin', + 'user', 'rm', + '--uid', uid, + '--purge-data', + ], + ) @contextlib.contextmanager def create_users(ctx, config): diff --git a/teuthology/task/swift.py b/teuthology/task/swift.py index a799f62470d4f..c161c268e72f8 100644 --- a/teuthology/task/swift.py +++ b/teuthology/task/swift.py @@ -52,9 +52,10 @@ def create_users(ctx, config): assert isinstance(config, dict) log.info('Creating rgw users...') testdir = teuthology.get_testdir(ctx) + users = {'': 'foo', '2': 'bar'} for client in config['clients']: testswift_conf = config['testswift_conf'][client] - for user, suffix in [('foo', ''), ('bar', '2')]: + for suffix, user in users.iteritems(): _config_user(testswift_conf, '{user}.{client}'.format(user=user, client=client), user, suffix) ctx.cluster.only(client).run( args=[ @@ -70,8 +71,23 @@ def create_users(ctx, config): '--key-type', 'swift', ], ) - yield - + try: + yield + finally: + for client in config['clients']: + for user in users.itervalues(): + uid = '{user}.{client}'.format(user=user, client=client) + ctx.cluster.only(client).run( + args=[ + '{tdir}/enable-coredump'.format(tdir=testdir), + 'ceph-coverage', + '{tdir}/archive/coverage'.format(tdir=testdir), + 'radosgw-admin', + 'user', 'rm', + '--uid', uid, + '--purge-data', + ], + ) @contextlib.contextmanager def configure(ctx, config): -- 2.39.5