From 04322d9fbb717ad9a857e5c4b6c25e489e97da2b Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Thu, 14 Nov 2013 14:01:51 -0800 Subject: [PATCH] ceph_manager: provide unique pool names to avoid collision Fixes: #6769 Signed-off-by: Samuel Just --- teuthology/task/ceph_manager.py | 9 +++++++++ teuthology/task/rados.py | 3 +-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/teuthology/task/ceph_manager.py b/teuthology/task/ceph_manager.py index 804c8427da..51a6d4eda4 100644 --- a/teuthology/task/ceph_manager.py +++ b/teuthology/task/ceph_manager.py @@ -308,6 +308,7 @@ class CephManager: self.ctx = ctx self.config = config self.controller = controller + self.next_pool_id = 0 if (logger): self.log = lambda x: logger.info(x) else: @@ -551,6 +552,14 @@ class CephManager: self.log(status) return status['pgmap']['num_pgs'] + def create_pool_with_unique_name(self, pg_num=1): + name = "" + with self.lock: + name = "unique_pool_%s"%(str(self.next_pool_id),) + self.next_pool_id += 1 + self.create_pool(name, pg_num) + return name + def create_pool(self, pool_name, pg_num=1): with self.lock: assert isinstance(pool_name, str) diff --git a/teuthology/task/rados.py b/teuthology/task/rados.py index 8e4f019a52..e6bca6ef8f 100644 --- a/teuthology/task/rados.py +++ b/teuthology/task/rados.py @@ -108,9 +108,8 @@ def task(ctx, config): PREFIX = 'client.' assert role.startswith(PREFIX) id_ = role[len(PREFIX):] - pool = 'radosmodel-%s' % id_ + pool = ctx.manager.create_pool_with_unique_name() 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 + -- 2.39.5