From b4beb62dac8f459a5066b942f89ba1ee72f92fc2 Mon Sep 17 00:00:00 2001 From: Or Ozeri Date: Wed, 15 Nov 2023 11:47:54 +0200 Subject: [PATCH] qa/tasks/rbd: support non-default ceph clusters This commit allows running the rbd task on an arbitrary cluster name. Signed-off-by: Or Ozeri Signed-off-by: Ilya Dryomov (cherry picked from commit 4f8dc834cc6cfb006a10fe4b3e715df5e720f6fe) --- qa/tasks/rbd.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/qa/tasks/rbd.py b/qa/tasks/rbd.py index b0ffaba83861d..026b695fb00d9 100644 --- a/qa/tasks/rbd.py +++ b/qa/tasks/rbd.py @@ -65,6 +65,7 @@ def create_image(ctx, config): size = properties.get('image_size', 10240) fmt = properties.get('image_format', 1) encryption_format = properties.get('encryption_format', 'none') + cluster, _, _ = teuthology.split_role(role) (remote,) = ctx.cluster.only(role).remotes.keys() log.info('Creating image {name} with size {size}'.format(name=name, size=size)) @@ -73,6 +74,7 @@ def create_image(ctx, config): 'ceph-coverage', '{tdir}/archive/coverage'.format(tdir=testdir), 'rbd', + '--cluster', cluster, '-p', 'rbd', 'create', '--size', str(size), @@ -99,6 +101,7 @@ def create_image(ctx, config): 'ceph-coverage', '{tdir}/archive/coverage'.format(tdir=testdir), 'rbd', + '--cluster', cluster, 'encryption', 'format', name, @@ -117,6 +120,7 @@ def create_image(ctx, config): if properties is None: properties = {} name = properties.get('image_name', default_image_name(role)) + cluster, _, _ = teuthology.split_role(role) (remote,) = ctx.cluster.only(role).remotes.keys() remote.run( args=[ @@ -124,6 +128,7 @@ def create_image(ctx, config): 'ceph-coverage', '{tdir}/archive/coverage'.format(tdir=testdir), 'rbd', + '--cluster', cluster, '-p', 'rbd', 'rm', name, @@ -160,6 +165,7 @@ def clone_image(ctx, config): properties = {} name = properties.get('image_name', default_image_name(role)) + cluster, _, _ = teuthology.split_role(role) parent_name = properties.get('parent_name') assert parent_name is not None, \ "parent_name is required" @@ -195,7 +201,7 @@ def clone_image(ctx, config): 'adjust-ulimits', 'ceph-coverage', '{tdir}/archive/coverage'.format(tdir=testdir), - 'rbd', '-p', 'rbd' + 'rbd', '--cluster', cluster, '-p', 'rbd' ] args.extend(cmd) remote.run(args=args) @@ -209,6 +215,7 @@ def clone_image(ctx, config): if properties is None: properties = {} name = properties.get('image_name', default_image_name(role)) + cluster, _, _ = teuthology.split_role(role) parent_name = properties.get('parent_name') parent_spec = '{name}@{snap}'.format(name=parent_name, snap=name) @@ -221,7 +228,7 @@ def clone_image(ctx, config): 'adjust-ulimits', 'ceph-coverage', '{tdir}/archive/coverage'.format(tdir=testdir), - 'rbd', '-p', 'rbd' + 'rbd', '--cluster', cluster, '-p', 'rbd' ] args.extend(cmd) remote.run(args=args) @@ -305,6 +312,7 @@ def dev_create(ctx, config): if properties is None: properties = {} name = properties.get('image_name', default_image_name(role)) + cluster, _, _ = teuthology.split_role(role) parent_encryption_format = properties.get('parent_encryption_format', 'none') encryption_format = properties.get('encryption_format', @@ -365,6 +373,7 @@ def dev_create(ctx, config): 'ceph-coverage', '{tdir}/archive/coverage'.format(tdir=testdir), 'rbd', + '--cluster', cluster, '--id', role.rsplit('.')[-1], '-p', 'rbd', 'map', @@ -609,7 +618,8 @@ def xfstests(ctx, config): running_xfstests = {} for role, properties in runs: - assert role.startswith('client.'), \ + cluster, typ, _ = teuthology.split_role(role) + assert typ == "client", \ "task xfstests can only run on client nodes" for host, roles_for_host in ctx.cluster.remotes.items(): if role in roles_for_host: -- 2.39.5