From 947eba1a60e9951cd1b03ff0231b17e76690d3d7 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Sun, 23 Jun 2013 20:44:38 -0700 Subject: [PATCH] rados: fix multiclient tests Each client (not run) gets its own pool! Signed-off-by: Sage Weil --- teuthology/task/rados.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/teuthology/task/rados.py b/teuthology/task/rados.py index a6f9659573..e35c375716 100644 --- a/teuthology/task/rados.py +++ b/teuthology/task/rados.py @@ -93,14 +93,16 @@ def task(ctx, config): log.info('clients are %s' % clients) for i in range(int(config.get('runs', '1'))): log.info("starting run %s out of %s", str(i), config.get('runs', '1')) - pool = 'radosmodel-%d' % i - ctx.manager.create_pool(pool) tests = {} + pools = [] for role in config.get('clients', clients): assert isinstance(role, basestring) PREFIX = 'client.' assert role.startswith(PREFIX) id_ = role[len(PREFIX):] + pool = 'radosmodel-%s' % id_ + pools.append(pool) + ctx.manager.create_pool(pool) (remote,) = ctx.cluster.only(role).remotes.iterkeys() proc = remote.run( args=["CEPH_CLIENT_ID={id_}".format(id_=id_)] + args + @@ -111,7 +113,8 @@ def task(ctx, config): ) tests[id_] = proc run.wait(tests.itervalues()) - ctx.manager.remove_pool(pool) + for pool in pools: + ctx.manager.remove_pool(pool) running = gevent.spawn(thread) -- 2.39.5